У вас есть два варианта: проверка в браузере (через javascript / jQuery) или на сервере (PHP).
Если вы выберете маршрут PHP, страница будет изменяться или обновляться, любые данные, введенные в поля , будут потеряны, если вы не предпримете конкретные шаги для сохранения / извлечения / замены это.
javascript / jQuery route:
Если вы выберете маршрут javascript, вы можете прервать процесс отправки формы и обработать большинство (если не все) проверки поля формы. Если любое из полей не прошло проверку, вы можете не только вернуть управление пользователю со всеми данными, которые все еще in situ , вы также можете обратить их внимание на ошибки (например, путем добавление класса к пропущенному (ым) полю (ам), которое привлекает внимание, или всплывающее модальное диалоговое сообщение, или путем наведения курсора на пропущенное поле и т. д.)
PHP-маршрут:
Если вы выбираете маршрут PHP, как вы сохраняете / восстанавливаете пользовательские данные? С большим количеством ручного труда ... Вы можете:
1) Сохраните значения полей в localStorage , используя немного JavaScript. Это требует довольно много кодирования с вашей стороны, но это работает. Опять же, вы прервете процесс отправки формы и сохраните данные за мгновение до отправки формы.
2) В PHP получить все значения полей. Если какое-либо поле не проходит проверку, вы можете отправить пользователя (через директиву PHP headers
?) Обратно на ту же страницу или на другую страницу вместе со всеми данными пользователя . Это означает либо создание новой страницы, либо добавление PHP-кода на вашу существующую страницу, для поиска этих значений, которые будут опубликованы, и, если они найдены, построение страницы таким образом, чтобы вы отображали форму с уже заполненными значениями. . Этот метод требует еще больше работы, чем первый.
Честно говоря, самый простой способ выполнить то, что вам нужно, это клиентская проверка полей на основе javascript - именно так 99% веб-сайтов справляются с этой ситуацией. Преимущества намного перевешивают любые недостатки. Если вас интересуют суперпользователи, использующие F12 DevTools для уловки проверки вашего поля, то у вас есть проверка резервных копий в PHP, которая не беспокоит сохранение данных формы (служит им правильно ...!) , Количество людей, попадающих в категорию хакеров, настолько мало и далеко, что вам действительно не нужно их обслуживать - но вам нужно перепроверить на стороне PHP, просто не беспокойтесь о сохранении их данных. Позаботьтесь об этом на стороне JavaScript
См. Эти ресурсы:
Как направить пользователя непосредственно в форму