Обновление: Похоже, я выполнил успешный запрос 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