私は送信フォームを使用して8桁の数字を送信しています。私はis_numericとstrlenを使用して、 "12345678"が "adsf"と "123"も正常に返ることを確認します。私はこれを実現させるために私が見逃していることを理解できないようです。php is_numericとstrlenは偽の場合でもtrueを返します
<?php
if (!empty($_POST['WorkOrder']) && isset($_POST['WorkOrder'])) {
if (!is_numeric($_POST['WorkOrder']) && (!strlen($_POST['WorkOrder']) == 8)) {
?>
<div class="alert alert-danger">
You cannot enter a blank or invalid work order number! You entered <?php echo "\"".$_POST['WorkOrder']."\""; ?>
</div>
<?php
} else {
$sql1 = "";
?>
<div class="alert alert-success">
<?php echo $_POST['WorkOrder']. " has been updated successfully!"; ?>
</div>
<?php
//mysql_query($sql1) or die(mysql_error());
} } ?>
無関係ですが、 'empty()'は変数 'isset()'もチェックします。後者を使用する必要はありません。 – rnevius