Javascript Jquery验证器与远程
我有一个使用jQuery validator的注册表:Javascript Jquery验证器与远程,javascript,php,jquery,jquery-validate,Javascript,Php,Jquery,Jquery Validate,我有一个使用jQuery validator的注册表: $('reg_form').validate({ ignore:"", rules : { user_name : { required :1, minlength :8, remote :"check_user_name.php" }, password : { required :1, minlength :8, }, first
$('reg_form').validate({
ignore:"",
rules : {
user_name : {
required :1,
minlength :8,
remote :"check_user_name.php"
},
password : {
required :1,
minlength :8,
},
firstname : {
required :1,
},
lastname : {
required :1,
},
email : {
required :1,
},
}
});
它工作得很好,但问题很遥远。它从不检测用户名是否已在数据库中
remote中的代码如下所示:
$uname = $_GET["user_name"];
$UserObj = new User();
echo $UserObj->checkUniqueUser($uname);
checkUniqueUser()将检查是否有同名用户,它将返回false,否则返回true
我从请求监视中获得了URL
http://project.localhost/check_user_name.php?user_name=admin
我热链接了URL,它说false,因为管理员已经在数据库中了,如果我更改为其他内容,它会显示true(当然,它不在数据库中)
有人能帮我吗?希望我能够清楚地说明我迄今为止做了什么,我面临什么问题
这是我在用户类中的函数
public function checkUniqueUser($username){
$return = true ;
global $db ;
$db->query("select iduser from user where
user_name = '".$this->cleanInput($username)."'");
if($db->numRows() > 0 ){
$return = false ;
}
return $return ;
}
由于需要输出,因此需要从函数中回显true
或false
,而不是返回
。从技术上讲,无处可返回
见和
酷,它成功了!!我敲了一会儿脑袋:)还浏览了其他帖子,我可能需要使用echo json_encode();我会尝试一下。@user322822,是的,输出必须是有效的JSON,但是,好吧,我认为这与布尔值无关。jQuery验证器还接受一个字符串,该字符串将成为错误消息,并且必须是JSON。(你必须有一定数量的代表才能投票。)@user322822,你总是可以在15岁之后回来。我认为你的问题在于User
类方法checkUniqueUser
。你能粘贴那个方法的代码吗?如果你不这样做,我们就无法解决这个问题。如果粘贴一个有效用户,它抛出false,而一个无效用户抛出true,那么问题在于验证不正确,或者被交换。
public function checkUniqueUser($username){
$return = true ;
global $db ;
$db->query("select iduser from user where
user_name = '".$this->cleanInput($username)."'");
if($db->numRows() > 0 ){
$return = false ;
}
echo $return ; // echo (output) true or false
}