дублирование данных с таймаутом

Bukk

Новичок
дублирование данных с таймаутом

Есть форма в которой юзер заполняет некое поле и нажимает на кнопку submit. Данные обрабатываются пхпешным скриптом и заносятся в базу.
Дабы предотвратить повторное нажатие кнопки или флуд, я записываю в переменную сессии отправленный текст и время отправки и при получении нового сообщения проверяю его с вышеуказанными переменными. Если сообщение совпадает с ним и время лежит в интервале, например, 10-и минут от предыдущего сообщения, то данные не заносятся.
Проблема: Почему-то иногда при повторном нажатии кнопки эти данные всё-таки повторно появляются в базе спустя например 20 минут?

Подскажите, плз: где тут загвоздка?
 

Кром

Новичок
Значит у тебя неправильно проверяется идентичность сообщений. Возможно не учитываешь добавление слешей или что либо в этом роде.
Спасает элементарная отладка.
 

Bukk

Новичок
Кром идентичность учитывается правильно, ведь данные проходят через один и тотже скрипт и всякие слеши и прочие соответственно тоже одинаковы. Да и кроме того, большенство дублей не проходят если они попали в обработку скриптом в установленный мною таймаут в 10 мин.
Вся фишка в том что каким-то образом иногда эти данные попадают туда лишь через 20- 30 минут, поэтому и не считаются дублем. Весь вопрос в том откуда эта задержка?
 

Кром

Новичок
>Вся фишка в том что каким-то образом иногда эти данные попадают туда лишь через 20- 30 минут, поэтому и не считаются дублем.

Так с этого и нужно было начинать, что ты сам добавляешь данные в базу.

>Весь вопрос в том откуда эта задержка?

Редирект нужно делать после отпавки пост данных, тогда данные повторно отсылаться не будут.
http://phpclub.ru/faq/wakka.php?wakka=ProblemsLocations&v=64t
 

Bukk

Новичок
Кром?Большое спасибо! Странно, что я пропустил эту главу когда смотрел faq.
 
Сверху