我有一个在处理之前验证名字、姓氏和电子邮件的表单。然而,似乎有些东西不起作用。如果我输入了一个电子邮件地址并且我的脚本对其进行了验证,那么无论我是否对名字和姓氏进行了检查,页面都会继续。
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 一样执行。
我错过了一些简单的东西吗?