表单提交的HTML代码:
<div class="control-group">
<label class="control-label" for="input01">Email</label>
<div class="controls">
<input type="text" class="input-xlarge" id="email" name="email"
rel="popover" data-content="What’s your email address?"
data-original-title="Email">
<span class="check" style="color:red;" ></span>
</div>
</div>
将邮件发送到PHP脚本的代码:
$(function () {
$('#email').keyup(function () {
var email = $(this).val();
if (email != '') {
//$('.check').show();
$('error').fadeIn(400).html('<img src="/img/ajax-loading.gif" />');
var dataString = 'email=' + email;
$.ajax({
type: "POST",
url: "pages/check_email.php",
data: dataString,
cache: false,
success: function (result) {
if (result == '') {
$('.check').html(email + ' Avaliable');
$('#create').attr('disabled', '');
$('#create').attr('value', 'Active');
$("#email").removeClass("red");
$("#email").addClass("white");
} else {
$('.check').html(email + ' ' + result);
$('#create').attr('disabled', 'disabled');
$('#create').attr('value', 'Deactive');
$("#email").removeClass("white");
$("#email").addClass("red");
}
}
});
} else {
$('.check').html('');
$('#submit').attr('disabled', 'disabled');
$('#submit').attr('value', 'Deactive');
}
});
});
检查邮件可用性的代码,如果找到或没有找到值,返回1或0:
include_once "../base.php";
$stmt = $db->prepare("SELECT * FROM `Consultants` WHERE email =':email'");
$stmt->bindParam(":email", $_POST['email']);
$stmt->execute();
$num_rows = $stmt->fetchColumn();
$HTML='';
if($num_rows > 0){
$HTML='is already used';
}else{
$HTML='';
}
echo $HTML;
$stmt = null;
对于输入的每个电子邮件,它返回'available'。我有几个电子邮件在我的数据库,我正在使用。我在控制台也没有收到任何错误。
选择Consultants
表中的所有字段,因此第一列的值可能大于0。
另外,准备好的语句不应该在绑定参数:email
周围使用引号。
$stmt = $db->prepare("SELECT COUNT(*) FROM `Consultants` WHERE email =:email");