Javascript Jquery验证器与远程

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

我有一个使用jQuery validator的注册表:

$('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
}