我有一个非常简单的表单设置,我正在使用Jquery验证来检查我的字段,这似乎是工作文件。然后我想用一个php文件设置遥控器来检查用户名的可用性。当我回显check_num_rows时,我得到与输入匹配的行数。
$check_num_rows = mysql_num_rows($check);
我显然不想要匹配的数量,所以我添加了一个if语句,使它看起来像这样......
$username = mysql_real_escape_string($_GET['username']);
$check = mysql_query("SELECT username FROM users WHERE username='$username'");
$check_num_rows = mysql_num_rows($check);
if ($check_num_rows == 1)
{
echo "Username taken!";
}
常规验证仍然有效,但是我没有像以前那样得到回声,这让我认为这只是最后几行代码的错误,但我没有看到它。下面是Jquery验证部分。
$("#register").validate({
rules: {
username: {
minlength: 5,
remote: "check-username.php"
},
password: {
minlength: 6
}
}
});
我已经看到了与此类似的问题的其他答案,但这里没有任何内容。谢谢!
答案 0 :(得分:0)
As per documentation for the remote
method,
通过jQuery.ajax(XMLHttpRequest)调用serverside资源 获取一个键/值对,对应于已验证的名称 元素及其作为GET参数的值。响应评估为 对于有效元素,JSON和必须为true,并且可以是任何false, undefined或null为无效元素,使用默认消息;要么 一个字符串,例如。 “这个名字已经被采用,请尝试peter123” 显示为错误消息。
注意上面的粗体部分。我不知道你的PHP如何/在哪里返回true
响应。