在這裏我有一個關於驗證註冊表單驗證在PHP
- 下面的代碼工作很好,但它是還好用這麼多
elseif
幾個問題嗎? 我也將使用客戶端驗證,所以我可以在同一頁上同時擁有服務器端驗證和客戶端驗證代碼。
if($firstname == "") { $er='Enter your First name'; } elseif($lastname == "") { $er='Enter your Last name'; } elseif($firstname == $lastname) { $er='First name and last name cannot be same'; } elseif($username == "") { $er='Enter your username'; } elseif($password == "") { $er='Enter your password'; } elseif(strlen($password) < 6) { $er='Password must be more than 6 characters'; } elseif($password != $password2) { $er='Password and confirm password does not match!'; } elseif($email != "" && !preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/", $_POST["email"])) { $er='Enter valid email'; } elseif($q->rowCount() > 0) { // $q is statement used to select username from db $er='The username '.$username.' is already taken!'; } elseif($s->rowCount() > 0) { // $s is statement used to select email from db $er='The email '.$email.' is already registered, choose another!'; } else { // some pdo statement to insert data if ($stmt->rowCount() == 1) { header("Location:userarea.php"); } else { echo "error"; } }
1.是的,這很好,只要它的可讀性(這是)。 2.如果你願意,客戶端代碼將在瀏覽器中以另一種語言(js)運行,因此不會發生衝突。你可能會發現你有更好的組織,如果你把它分成一個js文件雖然 – Steve
你應該單獨測試每個字段,並收集數組中的錯誤消息,一次輸出所有。但是,如果您也使用JavaScript進行驗證,那麼只要後端是安全的,就可以忽略此步驟,將重點放在項目中的其他重要事項上。 – Ultimater