все.
Я размышлял над решением о дизайне для формы PHP, и мне хотелось бы, чтобы кто-то был умнее, чем я.
Вот основы: Iиметь форму ввода пользователя, которая позволяет людям зарегистрировать главу для школы.Я делаю проверку входных данных в полях формы, что позволяет мне а) очищать данные и б) проверять ввод.Затем я намереваюсь отправить электронное письмо зарегистрированному пользователю (так как его адрес электронной почты будет представлен в форме) и записать его информацию в базу данных MySQL.
Прямо сейчас у меня есть часть проверки данных(и необходимые сообщения об ошибках), настроенные через POST, и страница отправляется обратно для проверки.Это показалось мне логичным, поскольку я мог легко сохранять дезинфицированные вводимые пользователем данные и отображать ошибки (для обязательных полей, типов данных и так далее).Если все обязательные поля заполнены и данные верны, я бы хотел перенаправить пользователя на страницу благодарности с дополнительной информацией.
(Извините, я так многословен. Мне нужно над этим поработать.)
Дело в том, что я хотел бы полностью отделить логику валидации и логику записи / отправки по электронной почте, если это возможно.Моя первоначальная идея состояла в том, чтобы перенаправить на страницу благодарности, если все поля были действительны, но теперь я думаю, что страница благодарности должна на самом деле содержать логику для записи в БД, отправить электронное письмо, а затем распечатать сообщение спасибо,Это, однако, усложнит ситуацию и приведет к передаче данных POST на другую страницу без использования GET.Хотя раньше мне никогда не приходилось делать ничего подобного (я довольно новичок в PHP), это, по-видимому, возможно (см. здесь , здесь и здесь ) и есть несколько способов сделать это.
Однако вопрос - должен ли я даже пытаться разделить эту логику на отдельных страницах PHP?Каждый программный инстинкт говорит мне «черт возьми, да, сделай это, это логическое разделение ответственности» .... но так ли это лучший метод обработки форм в PHP?Может ли кто-нибудь с большим опытом работы с PHP подробно рассказать о плюсах и минусах подобных действий и своем опыте?Как бы вы это сделали?