php是数字的,strlen即使为false也返回true
我正在使用提交表单提交一个8位数的数字。我试图使用is_numeric和strlen来确保“12345678”返回成功,而“adsf”和“123”也返回成功。我似乎不知道我错过了什么来实现这一点php是数字的,strlen即使为false也返回true,php,strlen,Php,Strlen,我正在使用提交表单提交一个8位数的数字。我试图使用is_numeric和strlen来确保“12345678”返回成功,而“adsf”和“123”也返回成功。我似乎不知道我错过了什么来实现这一点 <?php if (!empty($_POST['WorkOrder']) && isset($_POST['WorkOrder'])) { if (!is_numeric($_POST['WorkOrder']) && (!strlen($_
<?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());
} } ?>
您不能输入空白或无效的工作订单编号!你进来了
您应该使用或不使用,并将strlen与8值进行比较
if (!is_numeric($_POST['WorkOrder']) || strlen($_POST['WorkOrder']) !== 8) {
您正在使用
也可以翻译为的函数之前的code>不是
您实际要问的是:这个变量不是数字吗?
和这个变量不是长度…
相反,您应该使用if(is_numeric($var)&&strlen($var)==…)
祝你好运 不相关,但empty()
还检查变量isset()
。不用用后者,谢谢!我知道这很简单。