Вы можете хранить сообщения об ошибках в сеансе, которые затем будут присутствовать при всех последующих загрузках страницы. Обратной стороной является то, что без особой заботы и внимания, если у пользователя открыто несколько копий формы, отправка копии A приведет к ошибкам из копии B, и наоборот.
Другой вариант заключается в том, чтобы ваша серверная обработка повторно отображала форму, если есть какие-либо ошибки:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
... validate form ...
if ($form_has_errors) {
redisplay_form();
} else {
... do whatever has to be done with a 'good' submission ...
}
}
?>