2016-07-22 54 views
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>"; 
    } 
+0

只有一個if/elseif/else塊會一次執行。正如你編寫它,你只會看到匹配的第一個錯誤信息。 – ceejayoz

+0

要添加@ ceejayoz的評論,請用簡單的'if'替換所有'elseif';的確,只有在其前面的ifif或elseif不是時,纔會執行elseif塊。這意味着你將不得不使用一個數組來存儲所有的錯誤信息,否則你只會得到最後一個檢查。 – Kilazur

回答

2

看起來你在上面的代碼的第2行中拼寫錯誤「$ fname」。

+0

謝謝先生,我做了一個多麼愚蠢的錯誤!可憐的我。 – Nazmul