<form id="form_signin" method="POST">
<h2 class="title">Авторизация</h2>
<input type="text" name="ur_login" class="input" id="ur_login" placeholder="Логин">
<input type="password" name="ur_password" class="input" id="ur_password" placeholder="Пароль">
<button id="signin" name="signin">Войти</button>
</form>
<div class="error">
<span id="error__text">Lorem ipsum</span>
</div>
$(document).ready(function() {
$('#form_signin #signin').click(function(event) {
event.preventDefault();
let urLogin = $('ur_login').val();
let urPassword = $('ur_password').val();
$.ajax({
type: 'POST',
url: 'http://script.test.loc/pdo/application/backend/forms/?form=signin',
data: {
ur_login: urLogin,
ur_password: urPassword
},
beforeSend: function() {
console.log('Идет обработка...');
},
success: function(result) {
$('.error').addClass('error__active');
$('#error__text').text(result);
},
});
});
});
<?php
// Результаты обработки
// success - Успешная авторизация
// notMatch - Неправильный логин или пароль
// empty - Пустые поля
// notKnown - Неизвестная ошибка
$ur_login = htmlspecialchars(trim($_POST['ur_login']));
$ur_password = htmlspecialchars(trim($_POST['ur_password']));
if (!empty($ur_login) && !empty($ur_password)) {
$db_sql = 'SELECT login, password FROM users WHERE login = :ur_login';
$db_params = [':ur_login' => $ur_login];
$db_stmt = $database->prepare($db_sql);
$db_stmt->execute($db_params);
$ur_user = $db_stmt->fetch(PDO::FETCH_OBJ);
if ($ur_user) {
if (password_verify($ur_password, $ur_user->password)) {
echo 'success';
}
else {
echo 'notMatch';
exit();
}
}
else {
echo 'notMatch';
exit();
}
}
else if (empty($ur_login) && empty($ur_password)) {
echo 'empty';
exit();
}
else {
echo 'notKnown';
exit();
}
$('ur_login')
$('ur_password')
только начал учить AJAX и PDO