Система входа Ajax и PHP не отвечает, если вход был успешным - PullRequest
0 голосов
/ 24 февраля 2019

Я пытаюсь создать систему входа в систему с помощью 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 голосов
/ 24 февраля 2019

Если вы используете метод POST, вы можете просто использовать (почему ? пометка в URL)

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

Вы сможете получить данные, используя $_POST['username']

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...