Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > вопрос по формам и их обработке


Автор: vitaxaprog111 3.12.2010, 13:54
Как сделать что бы когда пользователь неправильно ввел данные в форму,а ему венулась страница с ошибками и формой.Сделать так,чтобы когда пользователь нажимает обновить в браузере - форма не отправлялась снова?

Автор: bars80080 3.12.2010, 14:42
когда форма отправляется обрабатывающему скрипту, то он после обработки решает, что надо сделать.
если были введены не корректные данные, то скрипт подгружает форму и вставляет в поля введённые данные
если всё хорошо, то после необходимой работы с данными (к примеру, сохранение в БД), скрипт выбрасывает редирект:

Код

header('Location: http://site.ru/somepage/');


где перенаправление может идти на любую страницу, в том числе и ту же самую. после этого F5 не сможет заново отправить форму


однако, данный метод будет работать только в том случае, если до header() не было никакого вывода в браузер (то есть ни одного echo, print и т.п.)

Автор: vitaxaprog111 3.12.2010, 15:07
спасибо.Значит редирект.Понял.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)