Как исключить повторное действие если был двойной клик? (Perl + Mysql)
Добавлено: 15 янв 2010, 12:26
Здравствуйте! Зарегился на этом форуме, потому что нуждаюсь в помощи опытных людей.
Есть такая проблема.
Допустим, существует форма, в которой есть кнопка, нажимая которую происходит кое-какое действие (списывание очков с игрового счёта пользователя).
Но я не могу придумать решение, как исключить двойное срабатывание скрипта, если пользователь сделал двойной клик по кнопке (или даже несколько раз быстро щелкнул по ней). В итоге получается, что очки со счёта списываются в двойном размере, в тройном и т.п.
Как сделать защиту от этого?
Я пробовал в начале скрипта сделать обращение к Mysql и оттуда бралась дата-время когда последнее списывание происходило, если это значение меньше 10 секунд, то скрипт не должен позволять производить списывание. Но всё равно этот метод неэффективен! Быстрый двойной клик всё равно позволяет "обогнать" обращение к Mysql.
Скрипт на Perl, база Mysql.
Заранее благодарю за помощь! Надеюсь найдётся опытный и добрый человек с хорошим советом.
Есть такая проблема.
Допустим, существует форма, в которой есть кнопка, нажимая которую происходит кое-какое действие (списывание очков с игрового счёта пользователя).
Но я не могу придумать решение, как исключить двойное срабатывание скрипта, если пользователь сделал двойной клик по кнопке (или даже несколько раз быстро щелкнул по ней). В итоге получается, что очки со счёта списываются в двойном размере, в тройном и т.п.
Как сделать защиту от этого?
Я пробовал в начале скрипта сделать обращение к Mysql и оттуда бралась дата-время когда последнее списывание происходило, если это значение меньше 10 секунд, то скрипт не должен позволять производить списывание. Но всё равно этот метод неэффективен! Быстрый двойной клик всё равно позволяет "обогнать" обращение к Mysql.
Скрипт на Perl, база Mysql.
Заранее благодарю за помощь! Надеюсь найдётся опытный и добрый человек с хорошим советом.