互动电子邮件检查 - 我在这里遗漏了什么?

时间:2016-12-06 16:46:32

标签: javascript php jquery

我的任务需要一些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的跨度,它应该显示文本,但实际上没有发生任何事情。被困在这里一段时间。

1 个答案:

答案 0 :(得分:2)

尝试改为使用count(*)

$stmt = $dbcon->prepare("SELECT count(*) FROM users WHERE email=:email"); 
$stmt->execute(array(':email' => $email));
$count = $stmt->fetchColumn(); 

希望这可以帮到你。

相关问题