我在使用jQuery的验证插件一些奇怪的问题。这似乎被问了几次,但我找不到我的问题的答案。我有一个形式,而我想看看是否电子邮件已经进入了 - 如果有,用户不应该能够提交表单。我正在使用FirePHP输出各种变量。这是我注意到我的查询返回值总是“1”(这是错误的)。但是,当我手动查询我的数据库(使用PhpMyAdmin),正确答案(“0”)出现。jQuery验证和验证插件
这里是我的JS:
// validate signup form on keyup and submit
$("#register").validate({
rules: {
......
email: {
required: true,
email: true,
remote: "check_email.php" , async:false
},
},
messages: {
......
email: {required: "Please enter an email address", email: "Please enter a valid email address", remote: "This email is already registered" },
}
}
});
});
这里是数据库连接的东西后,我的PHP ...
$form_email = $_GET['email'];
fb($form_email);
$sql = "SELECT COUNT(*) AS num_rows FROM users WHERE email = " . "'" . $form_email . "'";
fb($sql);
$result = $conn->query($sql);
fb($result->num_rows);
if ($result->num_rows == 0) {
echo 'true';
fb("true");
} else {
echo 'false';
fb("false");
}
计数始终返回“1”,甚至当我输入一个电子邮件不存在。
我还试图返回
echo json_encode('true');
,因为我读的地方,可能会奏效,但它并没有帮助。为什么我的回应总是在我的PHP错误?
'async'不是一个规则。检查你的语法。 – Sparky