Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP在单个if语句中检查ctype和strlen_Php_Forms_Strlen - Fatal编程技术网

PHP在单个if语句中检查ctype和strlen

PHP在单个if语句中检查ctype和strlen,php,forms,strlen,Php,Forms,Strlen,我有一个表单,在处理之前验证名字、姓氏和电子邮件。然而,似乎有些东西不起作用。如果我输入了一个电子邮件地址,并且我的脚本验证了它,那么不管我对名字和姓氏进行了什么检查,页面都会继续 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"> 因此,如

我有一个表单,在处理之前验证名字、姓氏和电子邮件。然而,似乎有些东西不起作用。如果我输入了一个电子邮件地址,并且我的脚本验证了它,那么不管我对名字和姓氏进行了什么检查,页面都会继续

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">
因此,如果我将“fn”和“ln”的输入留空,但提供了一个有效的电子邮件地址,那么脚本仍然会像$ec=0一样执行


我遗漏了一些简单的东西吗?

卢卡斯发现了上述问题。存在另一个未被注释掉的$ec=0。移除它解决了问题。谢谢大家。有时候有一双额外的眼睛总是很好的。非常感谢

我在这里没有看到任何与电子邮件地址相关的内容,这部分内容已经被证明是有效的,所以我在代码中省略了它,它发生在这些检查之后,所以脚本应该会出错,但不会。如果这不起作用,那么它们可能是相关的。我不知道这有什么关系。如果名字或姓氏出现错误,则增加$ec,电子邮件也是如此。我已经证明,如果您输入了一封无效的电子邮件,那么$ec实际上是递增的,因此我在继续处理之前对if($ec>0)的后续检查会停止脚本,但是如果您提供了一封有效的电子邮件,那么$ec决不会递增,即使无效的FN和LN仍然会使计数器跳闸,但是它们不会;回声!ctype_alpha($fn);回声!ctype_alpha($ln);有些东西不是你认为它在某处的东西。但是你在那里发布的内容没有什么问题。
$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++;
}
if($ec > 0){
    die($error);
}else{
    // Finish Processing
}