我不确定我做错了什么。这可能是我想要的简单但我正在尝试验证电子邮件并确保它不存在于数据库中。我在Stack Overflow上使用了一些不同的例子,但仍然没有得到结果。我继续在数据库的用户名表中添加了一行,故意试图收到错误消息。 jquery.validate脚本的其余部分工作正常(丢失电子邮件,无效的电子邮件)是的我已阅读文档并尝试了文档中的示例,但在键入我知道的数据库中的电子邮件地址时仍然没有收到错误消息。这就是我所拥有的。谢谢!
HTML
<form id="form-register" role="form" action="." method="post">
<div class="form-group">
<lable>Email</lable>
<input class="form-control" type="text" name="email" id="email">
</div>
</form>
jquery.validate通过我自己的javascript文件使用的代码,所以我可以在验证时使用自定义文本
$().ready(function(){
$("#form-register").validate({
rules: {
email: {
required: true,
email: true,
remote: {
url: "checkemail.php",
type: "post"
}
}
},
messages: {
email: {
required: "Please enter an email address",
email: "This is not a valid email address",
remote: "That email is already Registered"
}
}
});
});
调试PHP时似乎没有触发的PHP代码。所以我无法判断PHP文件是否正在接收这些值。
require("classes/Db.class.php");
require ('core/core_functions.php');
$db = new Db();
if(isset($_POST['email'])) {
$email = $_POST['email'];
$rows = $db->query("SELECT * FROM users WHERE user_email = :email", array("email"=>$email));
$total_rows = count($rows);
if( $total_rows > 0 ){
echo 'false';
}else{
echo 'true';
}
}
我想我不明白AJAX如何在没有任何数据标签的情况下将电子邮件的值传递给PHP文件。我试图将数据添加到jQuery中的规则声明中,但仍然无法正常工作。甚至尝试过绝望。感谢任何帮助,任何人都可以帮助我理解。