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
true
或false
,而不是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 }