如果登录成功,Ajax和PHP登录系统将不响应

时间:2019-02-23 22:11:05

标签: php ajax

我正在尝试使用PHP和Ajax创建登录系统,由于某种原因,代码未根据需要进行响应。我已经有一个正常运行的注册表单,并且我尝试使用尽可能多的注册表单代码来尝试修复该错误;但是,代码仍然无法正常运行。

HTML:

    <div id="loginOutput"></div>
    <table class="login">
     <tr>
      <th><p>Username</p></th>
      <th><input type="text" id="username"></th>
     </tr>
     <tr>
      <th><p>Password</p></th>
      <th><input type="password" id="password"></th>
     </tr>
    </table>
    <input type="button" value="Log In" id="submit">

Ajax:

    $(document).ready(function () {
     $("#submit").click(function () {
      var username = $("#username").val();
      var password = $("#password").val();
      var data = "username=" + username + "&password=" + password;
      $.ajax({
       method: "post",
       url: "login.php?",
       data: data,
       success: function (data) {
       $("#loginOutput").html(data);
       }
      });
     });
    });

PHP:

    <?php
     $username = "";
     $password = "";
     $errors = array();
     $username = $_POST['username'];
     $password = $_POST['password'];
     $connect = mysqli_connect("localhost:8889", "Daniel Borovskiy", "password", "suicidalKauze");
     if (!$connect) {
      die("Connection failed" . mysqli_connect_error());
     }
     if (empty($username)) {
      array_push($errors, "Please enter your username.");
     }
     if (empty($password)) {
      array_push($errors, "Please enter your password.");
     }
     if (count($errors) > 0) {
      foreach ($errors as $error) {
       echo "<p style='color: red; text-align: center;'>".$error."</p>";
      }
     }
     if (count($errors) == 0) {
      $query = mysqli_query($connect, "SELECT * FROM `Users` WHERE `username` = '$username' AND `password` = '$password'");
      $amount = mysqli_num_rows($query);
      if ($amount == 1){
       session_start();
       $row = mysqli_fetch_assoc($query);
       $_SESSION['firstName'] = $row['firstName'];
       echo $_SESSION['firstName'];
      } else {
       echo "Your username and password do not match.";
     }
    ?>

1 个答案:

答案 0 :(得分:0)

如果您使用的是POST方法,则可以轻松使用(为什么在网址中标记)

   $.ajax({
       method: "post",
       url: "login.php",
       data: {username:username,password:password},
       success: function (data) {
       $("#loginOutput").html(data);
       }
      });

您应该可以使用$_POST['username']

来获取数据

谢谢