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

时间:2013-09-25 10:07:12

标签: php html

我正在创建一个表单来编辑客户银行详细信息,帐号,排序码等 如果客户将必要的字段留空,则会显示表单,其中包含完成相应字段所需的错误

 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);       }

我的问题是,我还想检查一下,如果用户确实输入了一个值,例如在帐号字段中,则需要确切地说是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);
}

但我的问题是,如果用户将帐号留空,则根本不记录错误,并在数据库中记录空值。

有没有办法可以检查空字符串然后如果它们不是空的测试以确保它们的长度正确?

2 个答案:

答案 0 :(得分:1)

这是什么意思?是这样,你只需要填写我命名的部分。

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

答案 1 :(得分:0)

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);
}

尝试这种方式,它会有所帮助