我调用它登录时,我的AJAX和PHP出了什么问题?

问题描述 投票:0回答:2

我使用ajax和php登录表单有些麻烦,有人可以解决这个问题吗?这是代码html:login.html

<div id="id01" class="modal">
        <form class="modal-content animate" action="" method="POST" id="login-form">
            <div class="container">
                <label for="login-email"><b>Username</b></label>
                <input type="text" placeholder="Enter Email" id="login-email" name="login-email" required>  
                <label for="login-password"><b>Password</b></label>
                <input type="password" placeholder="Enter Password" id="login-password" name="login-password" required>
                <label>
                    <input type="checkbox" checked="checked" name="remember"> Remember me
                </label><br>
                <span id="showError"></span>
                <button type="submit" id="btn-login" name="btn-login">Login</button>
            </div>
            <div class="container" style="background-color:#f1f1f1">
                <button type="button" onclick="document.getElementById('id01').style.display='none'" class="cancel-btn">Cancel</button>
                <span class="psw">Forgot <a href="#">password?</a></span>
            </div>
        </form>
    </div>
    <script>
       $(document).ready(function(){
           $("#btn-submit").click(function{
                var login-email = $("#login-email").val();
                var login-password = $("#login-password").val();
                var error = $("#showError");

                if(login-email != "" && login-password != ""){
                    $.ajax({
                        url: "checkLogin.php",
                        type: "POST",
                        data: { login-email: login-email, login-password: login-password},
                        success: function(response){
                            var msg = "";
                            if(response == "success"){
                                window.location = 'profile.php'; 
                            } else {
                                msg = "Tên đăng nhập hoặc mật khẩu không chính xác.";
                            }
                            $('#id01').css({"display": "block"});
                            error.html(msg);
                        }
                    });
                } else {
                    error.html("Email đăng nhập hoặc mật khẩu không được bỏ trống.");
                     return false;
                }
            });
        });
    </script>

这是代码php login.php

if(isset($_POST["btn-login"])){
    $email    = trim($_POST["login-email"]);
    $password = trim($_POST["login-password"]);
    $sql_login = "SELECT email, password, permission FROM users where email='$email' and password='$password'";
    $db->query($sql_login);
    $rows = $db->findOne();
    $permission = $rows['permission'];
    if($rows['email'] == $email && $rows['password'] == $password){
        echo "success";
    } else {
        echo "fail";
    }
    exit(); 
}

它似乎是不加载到ajax和PHP代码因为我已经尝试了这么多时间但我不知道这里的错误。

php ajax login
2个回答
0
投票
  1. 你调用checkLogin.php,但代码php在login.php中
  2. 在login.php代码中,检查btn-login,但客户端的post数据没有btn-login

{ login-email: login-email, login-password: login-password}

所以if块永远不会工作。

if(isset($_POST["btn-login"])){
...

}

你可以这样改变

if(isset($_POST["login-email"]) && isset($_POST["login-password"])){
...

}

0
投票

乍一看,你的jQuery引用了btn-submit,但是你的html将其定义为btn-login

© www.soinside.com 2019 - 2024. All rights reserved.