我正在使用提交表單提交一個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