Jquery验证插件远程不能使用php if语句

时间:2013-06-29 02:36:06

标签: php mysql jquery-validate

我有一个非常简单的表单设置,我正在使用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
    }
}
});

我已经看到了与此类似的问题的其他答案,但这里没有任何内容。谢谢!

1 个答案:

答案 0 :(得分:0)

As per documentation for the remote method

  

通过jQuery.ajax(XMLHttpRequest)调用serverside资源   获取一个键/值对,对应于已验证的名称   元素及其作为GET参数的值。响应评估为   对于有效元素,JSON和必须为true,并且可以是任何false,   undefined或null为无效元素,使用默认消息;要么   一个字符串,例如。 “这个名字已经被采用,请尝试peter123”   显示为错误消息。

注意上面的粗体部分。我不知道你的PHP如何/在哪里返回true响应。