我正在建立一个使用PHP的网站,我需要验证用户输入的名称是否正确。由于JavaScript是客户端,我不能完全依靠这一点,所以这里是我的服务器端功能,以验证用户名:验证用户名时出现PHP错误
function validate_name($name) {
$name = trim($name); // only for the purpose of debugging <---- edited comment
echo $name;
if (strlen($name) <= 1) {
return "small";
} else if (has_numbers($name)) {
return "numbers";
} else {
return true;
}
}
在此之后,因此我检查输入和显示结果:
function final_check() {
if (validate_name($_POST["first_name"]) == "small") {
echo "<span class='error'>Your first name cannot be empty</span>";
return false;
} else if (validate_name($_POST["first_name"]) == "numbers") {
echo "<span class='error'>Numbers are not allowed in your first name</span>";
return false;
}
return true;
}
当我在first_name
字段中什么都没输入时,我得到空的错误信息;当我输入数字时,我收到数字错误消息。但是,当我输入一个有效的名称时,它会给我提供名称为空的错误消息。
这里的POST数据:
Array
(
[email] => [email protected]
[first_name] => qwe
[last_name] => wqe
[password] => qwe
[re_password] => qwe
[gender] => Male
)
输出:
Your first name cannot be empty
任何想法,我做错了什么?在过去的一个小时里,我一直难以解决这个问题,但我一直无法找到解决方案。
那么,是什么'回声$名称;'返回 – 2014-10-29 09:54:41
@RenePot我把'回声$ name'有用于调试的目的。删除该部分后,错误仍然存在。 – 2014-10-29 09:56:11
我明白了。只是想知道什么是回声 – 2014-10-29 09:56:36