Есть форма с авторизацией. Когда вводим логин и пароль которые не содержаться в СУБД, то страница просто обновляется. Это можно было бы сделать намного проще, но вот форма находится в модальном окне. Т.е. если делать проверку уже в php файле, тогда только при нажатии на кнопку авторизации срабатывает файл php и выводит сообщении об ошибке. Дык в чем суть, можно ли сделать проверку на существование пользователя прямо в HTML, ну или на крайняк в js? Спасибо.
Используйте ajax
$errors = [];
if (!authUser($login, $pass)) { // некий метод для авторизации
$errors[] = 'Ошибка авторизации';
}
// тут мы либо рендерим форму авторизации с учетом ошибки
return render($errors);
// или возвращаем только ошибки
return json_encode($errors);
$('.auth-form').on('submit', function(e){
e.preventDefault(); // чтоб страница не обновилась
var form = $(this);
$.ajax({
url: form.attr('action'),
data: form.serialize(),
success: function(response){
// если это html
$('.form-container').html(response);
// если это json
$('.errors', form).html(''); // чистим ошибки
if (response.errors) {
for(var i=0; i<response.errors.length; i++) {
$('.errors', form).append('<p>'+response.errors[i]+'</p>');
}
} else {
// ошибок нет, скорее всего нас авторизовали
// можно просто перезагрузить страницу
location.href = location.href;
}
}
});
});
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Возник вопрос следующего характераЕсть кнопка, при нажатии на которую посылается AJAX-запрос на контроллер
есть функция стандартная wp_insert_post() как можно вставить пост с помощью этой функции через bash
Есть объект с несколькими полями который отправляется как Json запрос на сервер