<!DOCTYPE HTML>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Amateur</title>
    <link rel="stylesheet" href="css/reset.css" type="text/css">
    <script src="http://code.jquery.com/jquery-1.8.0.js">
        function check_email()
        {
            var email=$("#txtEmail").val();
            $.ajax(
            {
                type:"POST";
                url:"index.php";
                data:"email="+email,
                success:function(msg)
                {
                    $("#chkEmail").html(msg);
                }
            });

            return false;
        }
    </script>
</head>

<body>
<form method="post">
    <label for="txtEmail">E-mail:</label>
        <input id="txtEmail" name="email" type="email" onblur="return check_email()">
    <label id="chkEmail" for="txtEmail"></label>
    <?php

    if(isset($_POST['email']))
    {
        $user='root';

        $pdo=new PDO('mysql:host=localhost;dbname=class;charset=utf8',$user);

        $email=$_POST['email'];

        $stmt=$pdo->prepare('SELECT email from tbl_users WHERE email=:email LIMIT 1');
        $stmt->execute(array(':email'=>$email));

        if($stmt->rowCount()>0)
        {
            echo 'E-mail already use.';
        }
        else
        {
            echo 'E-mail not use.';
        }

    }

    ?>
</form>
</body>
</html>


我仍然是PHP和JQuery的入门者,我想知道如何解决此类错误?我从萤火虫检查。流程是,用户输入完电子邮件后,它将自动从数据库中检查电子邮件是否存在。并且预期的输出未显示在我的页面中。

最佳答案

您缺少选择器上的引号,使用分号而不是逗号分隔ajax函数中的参数,而不是逗号等。

    function check_email() {
        var email=$("#txtEmail").val();
            $.ajax({
                type:"POST",
                url:"index.php",
                data: {email: email},
                success:function(msg) {
                    $("#chkEmail").html(msg);
                }
            });
            return false;
       }

10-06 04:38