Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 测试变量既不是空的,也有适当的长度_Php_Html - Fatal编程技术网

Php 测试变量既不是空的,也有适当的长度

Php 测试变量既不是空的,也有适当的长度,php,html,Php,Html,我正在创建一个表单,用于编辑客户银行详细信息、账号、排序码等 如果客户将必要字段留空,则会显示一个错误,提示他们需要填写相应字段 if ($bankname == '' || $accname == ''||$sortcode==''||$accnum==''||$balance==''||$odlimit=='') // if they are empty, show an error message and display the form $error = 'E

我正在创建一个表单,用于编辑客户银行详细信息、账号、排序码等 如果客户将必要字段留空,则会显示一个错误,提示他们需要填写相应字段

 if ($bankname == '' || $accname == ''||$sortcode==''||$accnum==''||$balance==''||$odlimit=='')
    // if they are empty, show an error message and display the form
         $error = 'ERROR: Please fill in all required fields!';
      editForm($bankname, $accname, $sortcode, $accnum, $balance, $passHint, $pin, $odlimit, $error, $id);       }
我的问题是,我还想检查,如果用户确实输入了一个值,例如在account number字段中,那么它的长度必须精确到8位。 所以我在想

if($accnum!=''&&strlen($accnum)!=8){
  // Account numbers must be 8 digits in length
    $error = 'ERROR: Account number must be 8 digits long';
 editForm($bankname, $accname, $sortcode, $accnum, $balance, $passHint, $pin, $odlimit, $error, $id);
}
但我的问题是,如果用户随后将帐号留空,则不会记录任何错误,并且数据库中会记录一个空值

是否有一种方法可以检查空字符串,然后如果它们不是空的,则进行测试以确保它们的长度正确

if($accnum!=''&&strlen($accnum)!=8 && $accnum== null){
// Account numbers must be 8 digits in length
$error = 'ERROR: Account number must be 8 digits long';
editForm($bankname, $accname, $sortcode, $accnum, $balance, $passHint, $pin, $odlimit,     $error, $id);
}
试试这种方法,会有帮助的


试着这样做,会有帮助的,这就是你的意思吗?所以,你只需要填写我命名的部分

if(they are empty) {
  error 
}
else {
  if(not the right length) {
    error
  }
  else {
     run the edit
  }
}

这就是你的意思?所以,你只需要填写我命名的部分

if(they are empty) {
  error 
}
else {
  if(not the right length) {
    error
  }
  else {
     run the edit
  }
}

谢谢你回到我身边,我试过了,但是当我再次运行代码并试图编辑记录时,帐号字段为空,它仍然在数据库中记录了一个空字段。即使我尝试了一个4位数的账号,它仍然接受了,并且没有标记错误。“斯特伦($accnum)鲁迪下面的帖子对我很有用,不过谢谢你的帮助!谢谢你回到我身边,我试过了,但是当我再次运行代码并试图编辑记录时,帐号字段为空,它仍然在数据库中记录了一个空字段。即使我尝试了一个4位数的账号,它仍然接受了,并且没有标记错误。“斯特伦($accnum)鲁迪下面的帖子对我很有用,不过谢谢你的帮助!干杯,鲁迪,现在开始工作了。不看它似乎很简单!有没有一种方法可以让我给你打分来解决这个问题?把这个作为答案,如果可以的话就投票表决。很高兴我能帮上忙。干杯,鲁迪,现在开始工作了。不看它似乎很简单!有没有一种方法可以让我给你打分来解决这个问题?把这个作为答案,如果可以的话就投票表决。很高兴我能帮上忙。你可能想调查一下。类似于
如果(1!==preg_match('/^[0-9]{8}$/',$accnum)){//handle error}
您可能需要查看。类似于
if(1!==preg_match('/^[0-9]{8}$/',$accnum)){//handle error}