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