Проверка на стороне сервера и действие формы - PullRequest
0 голосов
/ 23 декабря 2010

У меня есть страница (назовите ее form.php ) с формой для заполнения пользователями.Когда форма отправлена, я хочу проверить ее с помощью сценария на стороне сервера (при необходимости, назовите его validate.php , хотя код может также перейти на одну из других страниц, если это будет лучше),Если какая-либо часть формы не проходит проверку, я хочу вернуться к form.php , причем поля, которые пользователь должен исправить, выделены.Если форма проходит проверку, я хочу перейти на другую страницу: success.php .

Какую страницу следует указать в атрибуте "action" элемента <form> и чтолучший способ перейти с этой страницы на одну из других?

Ответы [ 3 ]

2 голосов
/ 23 декабря 2010

На это есть много ответов, это немного стиль.Я бы опубликовал form.php -> form.php.Если он проходит проверку, он может отображать содержимое success.php, в случае неудачи он может снова показывать ту же форму с обновленными значениями.Если обновленный URL-адрес является ключевым для рабочего процесса приложения, вы всегда можете использовать перенаправление URL-адресов после успешной проверки.

1 голос
/ 23 декабря 2010

Я предлагаю подход, используемый Magento.

В вашем контроллере есть метод formAction, который отображает форму, а затем другое действие formPostAction, которое обрабатывает отправку формы.

Если проверка не удалась, например, вы должны создать правильное сообщение об ошибке, затем сохранить в сеансе массив с только что отправленными данными формы и перенаправить на страницу формы.

Метод formAction () должен иметь немного логики для обработки данных в сеансе, очищая те, которые когда-то использовались для вывода, во избежание проблем безопасности.

1 голос
/ 23 декабря 2010

Я хотел бы, чтобы действие было form.php (так же, как страница отображения). В PHP проверьте, является ли запрос GET или POST. Если это GET, просто отобразите пустую форму. Если это POST, проверьте ответ, и если он действителен, REDIRECT to success.php. Если он недействителен, просмотрите форму еще раз (form.php) с ошибками, выделенными в строке

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...