我的任务需要一些Ajax / JQuery以交互方式检查用户名是否可用。这就是我所拥有的,但它不起作用。我显然没有很多经验。
PHP后端
<?php
if($_POST)
{
$email = strip_tags($_POST['email']);
$stmt=$dbcon->prepare("SELECT email FROM users WHERE email=:email");
$stmt->execute(array(':email'=>$email));
$count=$stmt->rowCount();
if($count>0)
{
echo "<span style='color:brown;'>Sorry username already taken !!!</span>";
}
else
{
echo "<span style='color:green;'>available</span>";
}
}
?>
我出于显而易见的原因取出了数据库连接。
我正在使用的JS脚本
$(document).ready(function()
{
$("#email").keyup(function()
{
var email = $(this).val();
if(email.length > 3)
{
$("#user-result").html('checking...');
/*$.post("username-check.php", $("#reg-form").serialize())
.done(function(data){
$("#result").html(data);
});*/
$.ajax({
type : 'POST',
url : 'checkemail.php',
data : $(this).serialize(),
success : function(data)
{
$("#user-result").html(data);
}
});
return false;
}
else
{
$("#user-result").html('');
}
});
});
有一个带有提到的ID的跨度,它应该显示文本,但实际上没有发生任何事情。被困在这里一段时间。
答案 0 :(得分:2)
尝试改为使用count(*)
:
$stmt = $dbcon->prepare("SELECT count(*) FROM users WHERE email=:email");
$stmt->execute(array(':email' => $email));
$count = $stmt->fetchColumn();
希望这可以帮到你。