【发布时间】:2013-05-10 17:42:00
【问题描述】:
我想使用 jQuery.validate 验证用户名是否存在于数据库中,所以这是我目前所拥有的:
jQuery:
$("#signupForm").validate({
rules: {
username: {
required: true,
minlength: 3,
remote: "check-username.php"
}
},
messages: {
username:{
remote: "This username is already taken! Try another."
}
}
});
检查用户名.php:
<?php
require_once "./source/includes/data.php";
header('Content-type: application/json');
$name = mysql_real_escape_string($_POST['username']);
$check_for_username = mysql_query("SELECT username FROM mmh_user_info WHERE username='$name'");
if (mysql_num_rows($check_for_username) > 0) {
$output = true;
} else {
$output = false;
}
echo json_encode($output);
?>
此代码始终显示用户名被使用的错误,即使它不是。
我正在使用 jQuery Mobile 1.9.1
提前致谢。
【问题讨论】:
-
你能再解释一下这个问题吗?哪一部分似乎有效,哪一部分无效?
-
在注册页面,不检查用户是否被带走。
-
打开网络标签。是否在提交时将请求发送到“check-username.php”页面?如果有,响应代码是什么(200,404,500 等),响应内容是什么?
-
好的,很抱歉,没有向 check-username.php 发送请求,该文件位于错误的位置。我修复了它,但现在它总是显示用户名已被使用,即使它不是!
标签: php jquery mysql jquery-validate