реализовать блокировку кнопки на определенное время после клика
Подскажите, пожалуйста, как реализовать блокировку кнопки на определенное время после клика. Т.е., пользователь зашел на страницу, нажал на кнопку, информация ушла, а кнопка заблокировалась, на часов 20-ть. И перезагрузка страницы не снимала бы блокировку. Код кнопки <input type="submit" name="submit" class="button-normal active-gradient light-color dark-gradient-hover" value="{$L['change']}" id="submit" />
Заранее благодарен! |
Один нажимает и у всех на 20 часов она блокируется?
|
регистрация на сайте есть?
|
Цитата:
|
дополню регистрация есть. кнопка
регистрация есть. кнопка расположена на странице редактирования объявления зарегистрированного пользователя и отправляет соответствующую форму. доска объявлений абсолютно бесплатная. но в ней не было реализована возможность поднятия объявлений самим пользователем. по просьбам трудящихся прикрутил возможность поднятия объявлений путем клика по кнопке редактирования. но начались злоупотребления. поэтому решил ограничить возможность поднятия временем. а вот как реализовать не знаю. неделю по форумам, но пока никак.
|
sanya300,
В чем проблемы то? Во время T на сайте N пользователей, регистрированные они или нет не важно, коли всем блокировка. В момент времени Tₓ пользователь Nₓ отправляет форму. Это время пишется в базу. Любой последующий запрос формы, это проверка времени Tₓ + 20 часов, если не истекло, то прием отвергается. Блокировать же кнопки сразу всем нельзя, можно только по запросу клиента, если Ajax, то по асинхронному запросу. |
всем пользователям кнопки блокировать и не нужно. нужно заблокировать конкретную кнопку, расположенную на странице редактирования конкретного объявления зарегистрированного пользователя. Чтобы было так, пользователь зашел в свой кабинет, затем перешел на страницу одного из объявлений, жмакнул изменить, изменения сохранились, объявление поднялось, а редиректом пользователя перекинуло на страницу с самим объявлением (редирект есть). Если же пользователь вернется на страницу с редактированием того же объявления, то кнопка будет заблокирована. В тоже время другие свои объявления поднять и отредактировать он сможет, но только по одному разу. В теории вроде как понятно, но как сделать кодом...
|
Цитата:
По большому счету в данном случае клиент боком с его JS, все должен решать сервер. |
да, точно.... время изменяется.. может есть пример или готовый скрипт?
|
Цитата:
SELECT datefield + INTERVAL 20 HOUR FROM table |
Часовой пояс GMT +3, время: 13:53. |