0
任何人都可以告訴我我在這裏做了什麼錯誤嗎?錯誤僅在名字爲空時顯示,其餘(例如姓氏/電子郵件/正文)不起作用。電子郵件驗證也不起作用。在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