Мой код выглядит так:
if(!filter_var($Email, FILTER_VALIDATE_EMAIL))
{
message("Invalid Mail!", "error"); return;
}
сообщение — это функция для выдачи предупреждения.
Однако вся форма будет «очищена», как только появится сообщение об ошибке (из-за «возврата»). Я новичок, так как мне это предотвратить?
С уважением
Веб-серверы обычно без гражданства. Когда ваш скрипт завершит выполнение, он забудет все о запросе, включая отправленные данные формы.
Два распространенных метода в PHP для сохранить состояние используют переменные сеанса (сохранение пользовательской информации на сервере между запросами) или вывод данных в скрытые поля формы для повторной отправки при следующем запросе (хранение информации на стороне клиента между запросами). Оба являются временными.
Очень простая переменная сеанса, которая запоминает, посещали ли вы ранее:
<?php
// Tell PHP to use sessions
session_start();
// If the variable is not set
if (!isset($_SESSION['returning_user'])) {
// They are a new user
echo 'Welcome first-timer!';
$_SESSION['returning_user'] = true;
// Otherwise the variable is set
} else {
// They are a returning user
echo 'Hello again :)';
}
Если пользователь допустил ошибку при заполнении формы или не прошел проверку и т. Д., Рекомендуемый метод — снова вывести данные в поля формы, чтобы пользователь мог внести исправления, и повторно отправить их, когда они будут готовы.
Если вы создаете многошаговый мастер форм, вы можете «захватить» данные предыдущих шагов в переменную сеанса для обработки в конце. Это связано с тем, что вы подтвердите ввод данных пользователем при отправке — отправка его обратно клиенту для хранения может быть ненадежной — хранение на сервере безопасно.
надеюсь, это поможет
Других решений пока нет …