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}