Почему я получаю неопознанный индекс: имя пользователя и пароль? - PullRequest
2 голосов
/ 17 июня 2019

Обновление: Похоже, я выполнил успешный запрос AJAX POST, поскольку он выводит ошибки PHP в #userError и изменяет ошибки в моем старом коде, но я все еще получаю неопознанный индекс

На данный момент я попробовал буквально все, что мог придумать ...

Мой вопрос: почему я получаю неопознанный индекс для имени пользователя и пароля на checkLogin.php, когда на login.php информация не является недействительным индексом.

  • Я пытался переключить $ _POST ['username'] (& pwd) на $ _REQUEST, надеясь, что моя работа, но это не так

Эта функция вызывается, если заполнены поля ввода имени пользователя и пароля. Я использую event.preventDefault (); заблокировать отправку, которая вызывается после полной загрузки страницы, и функция вызывается, если error == 0.

function checkLogin() {

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

            //var formData = ; //Serialize the form data

            if (window.XMLHttpRequest) { //Launch XML Request
                http = new XMLHttpRequest();
            } else {
                http = new ActiveXObject("Microsoft.XMLHTTP");
            }

            http.onreadystatechange = function() {
                if (this.readyState == 4 && this.status == 200) {
                    $(this).text(this);
                    $("#userError").text(this.responseText);
                }
            };

            http.open("POST", "checkLogin.php", true);
            http.send();
    });

    $("#login_form").submit(); //Submit the form

checkLogin.php (БД является заполнителем для фактической личной информации)

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

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

    if ($_SERVER['REQUEST_METHOD'] === 'POST') { //Keeps the text inside the this.responseText
        //Preparing and Binding SQL statement
        $stmt = mysqli_prepare($link, "SELECT username, password FROM login WHERE username =? and password =?");
        mysqli_stmt_bind_param($stmt, "ss", $username, $password);

        //PRINTS UNIDENTIFIED INDEX
        $username = $_POST['username']; //mysqli_real_escape_string($link, $_POST['username']); //Retrieving the username 
        $password = $_POST['password']; //mysqli_real_escape_string($link, $_POST['password']); //Retrieving the password
        mysqli_stmt_execute($stmt);

        $result = mysqli_stmt_get_result($stmt);
        $row = mysqli_fetch_assoc($result); 
    }

if (!$stmt) {
echo "this is invalid";
}

HTML-тег формы: (здесь содержимое формы не включено - но оно есть на client_login.php)

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

Ожидается: если информация неверна, ничего не делать (прямо сейчас) - если правильно, запустите скрипт login.php
Фактически: неопознанный индекс для $ username и $ password

Ошибка: обратите внимание: неопределенный индекс: имя пользователя в (filePath) /checkLogin.php в строке 15
Примечание: неопределенный индекс: пароль в (filePath) /checkLogin.php в строке 16

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