//Форма.php
<form action=Обработчик.php>
<...fields...>
<input type=submit>
</form>
//Обработчик.php
...Что-то делаем с полями $_REQUEST и в конце обработки пишем:
header("Location: Форма.php");
Кнопка Обновить и Php
Не удается обновить страницу без повторной отправки данных. Нажмите соответствующую кнопку для повторной отправки данных или отмените операцию для возврата к открываемой странице.
Так вот после этого в базу добавляется еще 1 запись. В базе нет ограничения на уникальность некоторых полей. У кнопок форм имя command, посылается методом post. А в начале скрипта я обрабатываю $_POST[ "command" ]. Не могу найти как от этой фигни избавиться. ( по части ограничения: оно не должно быть ).
Еще раз:
После обработки данных формы, делаем внутренний редирект на страницу с формой. В случае с PHP это будет выглядеть так:
Код:
Браузер ничего не узнает об этом редиректе, а заголовки будут чистыми.
Когда броузер отправляет форму, а в ответ получает ту же форму, для него это не одни и те же страницы, в первый раз это страница с формой, а второй раз это страница которая является результатом отправки формы, поэтому при обновлении оно естесно хочет отправить данные еще раз, потому как ты обновляешь вторую страницу а не первую (по его мнению).
Один из выходов это перенаправить броузер опять на первую страницу(как писалось выше)... другого чесно говоря в голову пока не приходит... ,а можно типа отправлять данные не перегружая страницу, меняя src у чего нибуть с параметрами формы, это используется в динамической загруке данных без перезагрузки текущей страницы