在php中进行表单验证无法正常工作
问题描述:
任何人都可以告诉我我在这里做了什么错误吗?错误仅在名字为空时显示,其余(例如姓氏/电子邮件/正文)不起作用。电子邮件验证也不起作用。在php中进行表单验证无法正常工作
$error = "";
if (empty($fanme)) {
$error = "First name must not be empty !";
}
elseif (empty($lname)) {
$error = "Last name must not be empty !";
}
elseif (empty($email)) {
$error = "email must not be empty !";
}
elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$error = "Invalid Email Address !";
}
elseif (empty($body)) {
$error = "Message field not be empty !";
}
else {
$msg = "ok";
}
}
if (isset($error)) {
echo "<span style='color:red'>$error</span>";
}
if (isset($msg)) {
echo "<span style='color:green'>$msg</span>";
}
只有一个if/elseif/else块会一次执行。正如你编写它,你只会看到匹配的第一个错误信息。 – ceejayoz
要添加@ ceejayoz的评论,请用简单的'if'替换所有'elseif';的确,只有在其前面的ifif或elseif不是时,才会执行elseif块。这意味着你将不得不使用一个数组来存储所有的错误信息,否则你只会得到最后一个检查。 – Kilazur