Войти используя PHP и JavaScript из базы данных SQL - PullRequest
0 голосов
/ 05 июля 2018

Я создал раскрывающуюся панель входа (я использую Bootstrap 3.3.7), где я хочу, чтобы пользователь вводил имя пользователя и пароль, использованные при регистрации.

Если вход в систему выполнен успешно, я хочу, чтобы пользователь был перенаправлен на другую страницу с именем profile.php, в противном случае, если вход в систему не выполнен, в нижнем колонтитуле панели входа появится сообщение об ошибке. Вот мой HTML-код для панели:

<li class="nav-link dropdown">
  <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span class="glyphicon glyphicon-user"></span>Login</a>
  <div class="dropdown-menu" aria-labelledby="navbarDropdown">
    <div style="width:300px;">
      <div class="panel-heading text-center" style="color:black;">LOGIN</div>
      <div class="panel-heading">
        <label for="email">username</label>
        <input type="text" class="form-control" id="username">
        <label for="email">Password</label>
        <input type="password" class="form-control" id="password">
        <br>
        <a href="#" style="color:blue; list-style:none;">Forgotten password?</a><input type="submit" class="btn btn-success" style="float:right;" id="login" value="login">
      </div>
      <div class="panel-footer" id="login_msg"></div>
    </div>
  </div>
</li>

вот мой код для входа в JavaScript:

$("#login").click(function(event) {
  event.preventDefault();
  var u_name = $("#username").val();
  var pass = $("#password").val();
  $.ajax({
    url: "login.php",
    method: "POST",
    data: {
      userLogin: 1,
      userUname: u_name,
      userPassword: pass
    },
    success: function(data) {
      if (data == "truejsdhfkh") {
        window.location.href = "profile.php";
      } else {
        $("#login_msg").html(data);
      }
    }
  })
})

вот мой логин php код:

<?php
// connect to the database
include "db.php";
//session start
session_start();
//login page
if(isset($_POST['userLogin'])){

    $uname = mysqli_real_escape_string($con, $_POST['userUname']);
    $passwrd = mysqli_real_escape_string($con, $_POST['userPassword']);


    if(empty($uname) || empty($passwrd)){
        echo "
        <div class='alert alert-danger'>
            <a href='#' class='close' data-dismiss='alert' aria-label='close'>&times;</a><b>Please fill in all fields!</b>
        </div>
    ";
    exit();
    }else{
        $passwrd = md5($passwrd);
        $sql = "SELECT * FROM user_info WHERE username = '$u_name' AND passwrd = '$password'";
        $run_query = mysqli_query($con,$sql); 
        $count = mysqli_num_rows($run_query);
        if($count == 1){
            $row = mysqli_fetch_array($run_query);
            $_SESSION["uid"] = $row["user_id"];
            $_SESSION["uname"] = $row["username"];
            echo "truejsdhfkh";
    }
    }

}
?>

Я использую базу данных phpMyAdmin SQL. Имя базы данных user_info со следующими столбцами: (user_id, username, first_name, last_name, email, passwrd, mobile, home_town)

Когда я нажимаю кнопку входа, ничего не происходит, пожалуйста, помогите?

1 Ответ

0 голосов
/ 05 июля 2018

У вас есть две опечатки в вашем запросе. Первый из них был указан в комментариях и кажется, что он был исправлен вами. Второй - вы передаете $ пароль, когда он не существует. Вы должны передать $ passwrd.

$sql = "SELECT * FROM user_info WHERE username = '$uname' AND passwrd = '$passwrd'";

                                                    ^^                    ^^
//Typos                                          $u_name                $password

Извините, что занял слишком много места, но я не могу добавлять комментарии.

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