Jqueryvalidation器与远程的怪异行为

我有一个使用jQueryvalidation器的注册表单:

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

它工作得很好,但问题很遥远。 它永远不会检测用户名是否已经在数据库中。

远程代码如下:

 $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,它说错了,因为管理员已经存在于数据库中,如果我更改为其他内容它显示为true(当然它不在DB中)

有人可以帮我这个吗? 希望我能够说清楚到目前为止我做了什么以及我面临的问题。

这是我在User类中的函数。

 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 ; } 

由于您需要输出 ,因此需要从函数中echo truefalse ,而不是return 。 从技术上讲,无处可return

请参阅PHP return和PHP echo

 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 }