Привет!
Форма с помощью Ajax отправляет данные в send.php обработчик и он уже взаимодействует с БазойДанных.
Можно ли прямо в обработчике send.php указывать ошибки типа "Неверный логин" или "Неверный пароль" или сразу обе ошибки и отправлять их на текущую страницу с формой?
Чтобы с помощью JavaScript далее оформлять эти ошибки для пользователя.
Если да, то покажете пример?
Нашел только технологию - передача ошибки в заголовок, но таким образом можно передать только 1 ошибку, да и строго определенные ошибки, да и не безопасно это от инъекций.
Не могу понять, как вообще делают такое.
Неужели можно только ограничиваться обработчиком на текущей странице, где форма отправки данных там и обработчик.
Пример
Ajax
$("form").submit(function(e) {
e.preventDefault();
$.ajax({
type: "POST",
url: "send.php",
data: $(this).serialize()
}).done(function() {
// если успешная отправка
}).fail(function () {
// если ошибка отправки
});
return false;
});
Send.php (RedBean.php регистрация пользователя)
// Если такой логин есть, значит ошибка
if ( R::count('users', "login = ?", array($_POST['login'])) > 0)
{
// ХОТЯ И ВОЗНИКАЕТ ОШИБКА, AJAX ОТМЕЧАЕТ УСПЕШНУЮ ОТПРАВКУ.
// КАК ЕЕ ОТПРАВИТЬ НА ТЕКУЩУЮ СТРАНИЦУ ?
$errors = 'Пользователь с таким Логином уже существует!';
} else
{
// Если логин уникальный - регистрируем юзера
$user = R::dispense('users');
$user->login = $_POST['login'];
$user->password = $_POST['password'];
R::store($user);
}