Я работаю над формой входа, где пользователь вводит свой адрес электронной почты, который проверяется через AJAX, после чего пароль также проверяется через AJAX. Вот код, JS code-Получение нескольких данных через AJAX в PHP?
//AJAX for email input field
function emailCheck(email) {
return $.ajax({
type: "POST",
url: "ajax_index.php",
data: "email=" + email
});
}
//AJAX for password input field
function passwordCheck(password, email) {
return $.ajax({
type: "POST",
url: "ajax_index.php",
data: {password: password, email: email}
});
}
PHP код -
//receives POST request from email field
if (isset($_POST['email'])) {
$email = mysqli_real_escape_string($dbconn, $_POST['email']);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo -1;
} else {
$query = "SELECT * from users WHERE email = '$email'";
$query_result = mysqli_query($dbconn, $query) or die(mysqli_error($dbconn));
$result_rows = mysqli_num_rows($query_result);
echo $result_rows;
}
}
//receives POST from password field
if (isset($_POST['password'], $_POST['email'])) {
$email = mysqli_real_escape_string($dbconn, $_POST['email']);
$password = mysqli_real_escape_string($dbconn, $_POST['password']);
$query = "SELECT email, password from users WHERE email = '$email'";
$query_result = mysqli_query($dbconn, $query) or die(mysqli_error($dbconn));
$result_rows = mysqli_num_rows($query_result);
$row = mysqli_fetch_assoc($query_result);
if (password_verify($password, $row['password'])) {
echo 1;
}
else {
echo 0;
}
}
Как вы можете видеть, в поле пароля, я должен получить как $_POST['password']
и $_POST['email']
, так что я может проверить пароль на это письмо. Но это вызывает как обработчики, так и одно поле электронной почты, а другое - как для электронной почты, так и для пароля, которые я только хочу запускать. Итак, как я могу решить эту проблему? Спасибо.
Нам нужно увидеть прикрепленные обработчики, которые вызывают функции 'mailCheck' и' passwordCheck'. –
проверить на наличие электронной почты, если он существует для пароля еще вернуть email m = не существует –
лучше иметь дополнительную переменную типа 'action = emailCheck' и' action = passwordCheck', чтобы избежать путаницы. – Sasikumar