Передача сообщения об ошибке через сессии
Форма авторизации и сам скрипт авторизации на сайте, находятся на разных страницах. Для обработки данных формы использую метод POST. Как правильно будет передать сообщение об ошибке, на страницу с формой, в случае если пользователь ввел не правильные данные от аккаунта? Будет ли хорошим тоном использовать для этого сессии и после вывода ошибки, использовать на ключ сессии - unset()?
Пробовал присваить куки в скрипте, а затем проверять на форме присвоена ли куки и выводить, но в таком случае, куки всегда пуста.
Пример скрипта:
<?php
$validation; // Если при обработке данные пользователя не совпадут с бд, присвоится false
/* Логика */
if ($validation == false) {
setcookie("LoginError", 'Неправильный логин или пароль');
header('Location: /loginform');
}
?>
Пример страницы с формой:
<form method="POST" action="/LoginScript">
<?php
if (isset($_COOKIE['LoginError'])) {
echo $_COOKIE['LoginError'];
}
?>
<!-- Тут инпуты -->
</form>
Также пробовал присваить куки время жизни, но результат не изменился.
Ответы (1 шт):
Довольно удобно передавать ошибку в GET запросе
Header('Location: domain.com/auth.php?error=' . $error_text);
Ну и потом в форме уже проверяете
<form method="POST" action="/LoginScript">
<?php
if (isset($_GET['error'])) {
echo $_GET['error'];
}
?>
<!-- Тут инпуты -->
</form>