제출 양식을 사용하여 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