【发布时间】:2014-01-23 15:35:56
【问题描述】:
我有一个使用 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。
我从请求监视中获得了 URL
http://project.localhost/check_user_name.php?user_name=admin
我热链接了 URL,它显示为 false,因为管理员已经在数据库中,如果我更改为其他内容,它显示为 true(当然它在数据库中不存在)
有人可以帮我吗?希望我能够清楚地说明我到目前为止所做的事情以及我面临的问题。
这是我在 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 ;
}
【问题讨论】:
-
我认为您的问题出在
User类方法checkUniqueUser中。你能粘贴那个方法的代码吗?如果您不这样做,我们将无法解决这个问题。如果您粘贴一个有效用户并且它抛出 false,并且一个无效用户抛出 true,那么问题是验证不正确,或者被交换。
标签: javascript php jquery jquery-validate