Jquery验证插件远程不使用php if语句
我已经设置了一个非常简单的表单,我正在使用jqueryvalidate检查我的字段,这似乎是一个工作文件。然后,我想用php文件设置远程,以检查用户名的可用性。当我回显check_num_行时,我会返回与输入匹配的行数Jquery验证插件远程不使用php if语句,php,mysql,jquery-validate,Php,Mysql,Jquery Validate,我已经设置了一个非常简单的表单,我正在使用jqueryvalidate检查我的字段,这似乎是一个工作文件。然后,我想用php文件设置远程,以检查用户名的可用性。当我回显check_num_行时,我会返回与输入匹配的行数 $check_num_rows = mysql_num_rows($check); 显然,我不想要匹配的数量,所以我添加了一个if语句,使其看起来像这样 $username = mysql_real_escape_string($_GET['username']); $che
$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
}
}
});
我见过其他类似问题的答案,但没有一个适合这里。谢谢
服务器端资源通过jQuery.ajax(XMLHttpRequest)和
获取一个键/值对,对应于已验证的
元素及其作为GET参数的值。响应评估为:
JSON和对于有效元素必须为true,并且可以为任何false,
未定义或无效元素为空,使用默认消息;或
字符串,例如“该名称已被采用,请改用peter123”
显示为错误消息
请注意上面以粗体显示的部分。我不知道您的PHP如何/在哪里返回
true
响应。谢谢!根据你的建议,我添加了“else”语句。现在,当我看到它返回true时,屏幕上不会有任何回音,当它为false时,我会使用“Username-take”,这正是我想要的。我还添加了json_encode。代码现在看起来像这样<代码>$username=mysql\u real\u escape\u字符串($\u GET['username'])$check=mysql_query(“从username='$username'的用户中选择用户名”)$check_num_rows=mysql_num_rows($check);如果($check_num_rows>0){$invalid=“Username is take!”;}否则{$invalid=“true”}echo\json_encode($invalid)代码>