処理前に名、姓、および電子メールを検証するフォームがあります。ただし、何かが機能していないようです。電子メール アドレスを入力し、スクリプトがそれを検証すると、名と姓のチェックに関係なくページが続行されます。
HTML フォーム入力
First Name <input type="text" id="new_user_fn" name="new_user_fn">
Last Name <input type="text" id="new_user_ln" name="new_user_ln">
PHP スクリプト
$ec = 0;
$fn = trim($_POST['new_user_fn']);
$ln = trim($_POST['new_user_ln']);
if(!ctype_alpha($fn) OR strlen($fn) <= 0){
$error = "First Name cannot be blank and may only contain letters";
$ec++;
}
if(!ctype_alpha($ln) OR strlen($ln) <= 0){
$error = "Last Name cannot be blank and may only contain letters";
$ec++;
}
基本的に、これは $fn がアルファベットで、長さが 0 より大きいかどうかをチェックして、ユーザーが入力に有効なテキストを入力したことを確認します。次に、電子メール アドレスを確認し (この部分は正しく機能するため、投稿から省略しました)、$ec の値を確認します。
if($ec > 0){
die($error);
}else{
// Finish Processing
}
したがって、「fn」と「ln」の入力を空白のままにして、有効な電子メール アドレスを指定すると、スクリプトは $ec = 0 として実行されます。
簡単なものがありませんか?