我有一个使用jQuery验证器的注册表单:
$('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并且它显示为false,因为管理员已经存在于数据库中,如果我更改为其他内容则显示为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 ;
}
答案 0 :(得分:0)
由于您需要输出,因此您需要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
}