ADIOS пишет:Скрипт обработал форму.. Выдал отчет об успешной работе.. но после нажатия F5 браузер спрашивает оправить данные заново или нет (что то в это роде), жмешь да и скрипт выполняеться снова... КАК ЭТОГО ИЗБЕЖАТЬ
Если необходимость в защите от повторной отпраки данных формы обарабатывающему PHP-скрипту при обновлении страницы - нужна в основном для простого предотвращения повторного выполнения каких-либо дейтсвий и удобства пользователя на тот случай если он случайно нажмет F5 - то можно использовать внешнее перенаправление на тот URL-адрес при запросе которого не выполняются никакие активные действия Обратите внимание что перенаправление должно быть именно внешним и реализовываться либо генерацией полного URL-адреса в пересылаемом Header-е Location - либо происходить на клиентской стороне с использованием JS-скрипта - потому что если перенаправление будет внутренним то Apache просто запустит соответствующий CGI-скрипт и выведет его результат работы с том же HTTP-ответе
Если же вам нужна реальная защита от повторного запроса PHP-скрипта то есть чтобы один и тот же пользователь не мог выполнить его несколько раз - даже в случае если этот пользователь не будет следовать перенаправлениям например с помощью прямого запроса по telnet - то самым эффективным способом будет обязательная авторизация благодаря который информацию по каждому пользователю и его дейтсвиях можно хранить в БД и накладывать соответствующие ограничения Как вариант можно использовтаь и проверку IP-адреса вместе с максимально полной информацией о браузере/системе/разрешении экрана и тд - это может позволить идентифицировать пользователя с некоторой приемлемой точностью