Запрет на повторную отправку формы

DarkGool

Guest
Запрет на повторную отправку формы

У меня в гостевой передается форма с сообщением

Ну например так:
<form action="test.php">
<hidden name="act" value="add">
<textarea name="message"></textarea>
</form>

Когда запрос передается в test.php идет отправка POST в БД.
Вопрос: если нажимаешь на F5, данные передаются снова,
понятно что можно поставить флуд-тест через time() в сессии, но есть ли способ вообще убить повтор запроса (как в invision)?
 

SiMM

Новичок
1. [m]header[/m]('Location: '.$_SERVER['REQUEST_URI']) после валидации введённых данных.
2. Не дублировать записи, для чего анализировать их наличие в базе.
 

neko

tеam neko
понятно что можно поставить флуд-тест через time() в сессии, но есть ли способ вообще убить повтор запроса (как в invision)?
если постят только зарегистрированные пользователи добавить колонку lastPostTime и по ней сверяться
 

DarkGool

Guest
да, через location самый удобный способ...

а для флуд контроля time(); ставим отпечаток в $_SESSION["ans_time"] и потом сверяем
if((bool)time()-$_SESSION["ans_time"]<30) { echo "Флудим"; } :)
 
Сверху