我试图在表单上设置一些错误检查,到目前为止我有以下内容:
if (empty($fname)) {
$error = true;
$error_fname = "Please fill in your first name";
}else if (empty($lname)) {
$error = true;
$error_lname = "Please fill in your first name";
}
虽然在第一个if语句中将字符串赋值给变量$ error_fname,但是第二个if语句什么都不做,它不会将错误分配给变量。
对此有何帮助?
答案 0 :(得分:2)
如果你遇到了你的第一个条件,你就永远不会抛出第二个条件,不要使用if else而不是两个if并且还将你的错误放在一个数组中,否则如果满足这两个条件你可能会覆盖它
$error_lname = array();
if (empty($fname)) {
$error = true;
$error_lname[] = "Please fill in your first name";
}
if (empty($lname)) {
$error = true;
$error_lname[] = "Please fill in your last name";
}
如果您需要两个单独的错误,可以使用不同的变量
if (empty($fname)) {
$error = true;
$error_fname = "Please fill in your first name";
}
if (empty($lname)) {
$error = true;
$error_lname = "Please fill in your last name";
}
答案 1 :(得分:1)
因为当它的名字不是为了姓,所以有一次你得到一个条件为真..看看@ firstname是空的,错误的第一个名字是真的然后它不会去第二个如果..这里是示例代码你只需要单独给出条件..
if (empty($fname)) {
$error = true;
$error_fname = "Please fill in your first name";
}
if (empty($lname)) {
$error = true;
$error_lname = "Please fill in your Last name";
}
答案 2 :(得分:1)
$error=false;
if (empty($fname)) {
$error = true;
$errors []= "Please fill in your first name";
}
if (empty($lname)) {
$error = true;
$errors[] = "Please fill in your last name";
}
if($error)
print_r($errors);
答案 3 :(得分:1)
如果您删除" else":
,则可以修复此问题if (empty($fname)) {
$error = true;
$error_fname = "Please fill in your first name";
}
if (empty($lname)) {
$error = true;
$error_lname = "Please fill in your last name";
}