Проверка логина, логина и пароля - PullRequest
0 голосов
/ 14 июня 2019

Я пытаюсь проверить информацию о пользователе в моей базе данных, не покидая страницу, и только если информация верна, она должна покинуть страницу и направить пользователя на пользовательский портал. PHP работает нормально, он проверяет информацию и, если он верен, направляет пользователя на портал, а при ложном - на пустую страницу.

Я пытаюсь перехватить отправку, проверить ее по базе данных, вывести сообщение об ошибке, если false, и направить пользователя, если он верен.

Я думаю, что ошибка, с которой я сталкиваюсь, заключается в том, как заставить PHP как-то "сигнализировать" jQuery о том, что оно ложно

Я создал обработчик отправки, который останавливает отправку формы, затем сериализует ее и отправляет в checkLogin.php, но после этого я не получаю никаких результатов.

Я никуда не отправлял пользователя, если информация верна, поэтому ожидается, что ничего не произойдет, если имя пользователя и пароль верны

ЭТО ЕСТЬ checkLogin.php - БД заменена на фактическую базу данных, которая подключается, я не хостинг на localhost, поэтому информация является частной

<?php

    $link = mysqli_connect('DB', 'DB', 'DB', 'DB'); //Database Connection

    if (!$link) { 
        die('Could not connect: ' . mysql_error()); 
    }

    $username = mysqli_real_escape_string($link, $_POST['username']); //Retrieving the username 
    $password = mysqli_real_escape_string($link, $_POST['password']); //Retrieving the password

    $user_sql = "SELECT username FROM login WHERE username = '$username'"; //Setting the SQL query
    $user_check = mysqli_query($link, $user_sql); //Putting the result of the query (^) into a variable

    if ($user_check) {
        $test = "THIS WAS A SUCCESS";
    } else {
        $test = "THIS WAS A FAILURE";
    }
?>

Это функция из login.js - функция вызывается после того, как пользователь нажимает на кнопку отправки

function checkLogin() {

    $("#login_form").submit(function(event) { //Submit Handler

        var post = $.post("checkLogin.php", $form.serialize()); 

        post.done(function() { //When the function is successfully submitted

        }); 

        //$("#login_form").submit(); //Submit the form (blocked for now)    
    }); 
}

login.html - Форма

<form action="login.php" method="post" name="login_form" id="login_form">

                    <div class="loginTitle">Client Login</div>

                    <div class="loginLabel">Username: <span id="userError"><?php echo $test ?></span></div>
                    <input type="text" name="username" class="loginBox" id="userName">

                    <div class="loginLabel">Password: <span id="passError"></span></div>
                    <input type="password" name="password" class="loginBox" id="passWord">

                    <br>

                    <input type="checkbox" name="rememberMe" value="rememberMe" id="remMe">Remember me for next time

                    <br>
                    <input type="submit" value="Login" name="submit" id="submit">

                </form>

login.html - вверху

<?php
    include ("checkLogin.php");
?>

Ожидается: при вводе неправильного имени пользователя должно быть написано «Это был сбой» рядом с меткой формы.

Фактически: ничего

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