Как реализовать ожидание времени перед повторной отправкой HTML-формы? - PullRequest
0 голосов
/ 08 августа 2011

У меня есть HTML-форма, которая вставляет данные в базу данных.Я просто построил это .. это очень просто, так как я просто делаю это, чтобы учиться.Делая это, я вижу, что я могу нажать кнопку "Назад" в браузере и опубликовать снова ... и снова ... и снова ... и он продолжает писать в БД.

Я видел сайты, где я пытаюсь повторно отправить информацию, и она говорит мне, что я должен ждать 60 секунд (или что-то еще).Это предпочтительный метод для решения этой проблемы?Если так, то как можно это осуществить?

Или, может быть, вы бы справились с этим по-другому?

Ответы [ 2 ]

1 голос
/ 08 августа 2011

Когда вы вставляете строку, сохраняйте время отправки в таблице или в сеансе пользователя.

Всякий раз, когда вы обрабатываете форму, сравните это время с текущим временем. Если это в течение 60 секунд, вместо вставки строки выведите сообщение об ошибке.

0 голосов
/ 08 августа 2011

Существует два метода:

i) Простой клиентский javascript: сохраните время последнего события в переменной javascript. Когда пользователь снова сделает событие, отправьте сообщение о времени.(Этот метод может быть введен в заблуждение пользователями, знающими javascript)

ii) Сохраните время последнего события в вашей базе данных в бэкэнде после завершения публикации формы.Когда та же самая публикация формы будет выполнена снова, проверьте время, если это разрешено, выполните обработку, иначе ответьте сообщением о времени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...