Существует несколько способов решения этой проблемы. В конечном счете, есть два высокоуровневых параметра:
- Передача действительных значений обратно в новую форму
- Никогда не удаляйте действительные значения (например, JavaScript + AJAX)
При текущей настройке (1) будет проще. Чтобы работать с вашим текущим дизайном, вам нужно было бы где-то хранить значения для передачи обратно в форму для визуализации. Простейшим было бы добавить их в параметры URL (строку запроса), но другие варианты включают файлы cookie или хранилище сеансов.
Простейшим вариантом было бы объединить вашу форму и проверку в одну конечную точку, а не разделять их , Таким образом, у вас уже есть данные публикации при визуализации формы с сообщениями об ошибках.
Получив значения, вы можете просто вставить их в форму HTML с атрибутом value
(обязательно HTML кодировать (htmlentities
) любые пользовательские значения, чтобы избежать уязвимостей XSS).
Например:
<input type="text" name="uFirst" class="form-control" placeholder="First name" value="<?= htmlentities($firstName) ?>" required />
Я только что заметил (из одного из комментариев), что вы уже передают ваши действительные значения в строке запроса с существующим перенаправлением. В этом случае вы можете просто сделать что-то вроде этого:
<input type="text" name="uFirst" class="form-control" placeholder="First name" value="<?= htmlentities($_GET["uFirst"]??"") ?>" required />
Кодирование значений очень важно. Неправильное кодирование значений, особенно из пользовательского ввода, может позволить злоумышленникам создать значения, выходящие за пределы HTML и изменяющие страницу, уязвимость, известная как межсайтовый скриптинг (или сокращенно XSS).