За последние 24 часа нас посетили 74062 программиста и 10170 роботов. Сейчас ищут 2393 программиста ...

Сделать ограничение клика по button по окончанию таймера

Тема в разделе "PHP для новичков", создана пользователем Александр7674, 25 май 2016.

  1. Александр7674

    Александр7674 Новичок

    С нами с:
    25 май 2016
    Сообщения:
    4
    Симпатии:
    0
    Здравствуйте, ребята, очень нужна ваша помощь. Возможно это нагло с моей стороны, но я только начинающий и прошу вашего понимания. Суть проблемы: есть кнопка, при нажатии которой выполняется действие. Если быстро нажимать на эту кнопку, действие выполняется множество раз и это же количество раз записывает действие в БД. Я хочу поставить таймер, чтобы нажимать на кнопку можно было раз в 2 секунды. Клик, кнопка выполнила действия и появился таймер, пока таймер активен, кнопка обновляла страницу.
    Вот код кнопки, помогите пожалуйста...
    Код (Text):
    1.  
    2. echo'<br/><input name="ok" type="submit" value="название" class="button"></form><br/>';
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.870
    Симпатии:
    955
    Давай попробуем для начала сформулировать алгоритм на простом русском языке
     
    Александр7674 нравится это.
  3. Александр7674

    Александр7674 Новичок

    С нами с:
    25 май 2016
    Сообщения:
    4
    Симпатии:
    0
    Давайте попробуем, я обеими руками ЗА, любой даже малейшей помощи.
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.213
    Симпатии:
    1.711
    Адрес:
    Молдова, г.Кишинёв
    нужно разбить на два этапа, в базе делать действие через транзакцию
    кнопку сразу через javascript делать disabled, есть settimeout в js, его зарядить на 2000 мс = 2 секунды и убирать у кнопки disabled
    если кнопку отрисовывает php после submit можно её отрисовывать с disabled,
    и опять же ставить таймер, чтобы её вернуть через 2 секунды
     
    Александр7674 нравится это.
  5. Александр7674

    Александр7674 Новичок

    С нами с:
    25 май 2016
    Сообщения:
    4
    Симпатии:
    0
    А без js это можно реализовать?
     
  6. Scogzhe

    Scogzhe Зэк
    [ БАН ]

    С нами с:
    4 фев 2015
    Сообщения:
    106
    Симпатии:
    0
    Можно, но потом под каждый браузер писать за***шься
     
  7. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.213
    Симпатии:
    1.711
    Адрес:
    Молдова, г.Кишинёв
    @Александр7674 добавь задание в очередь, не давай повторно его добавлять туда до его окончания (или только после 2 сек разрешай), задание выполняй через cron
     
    Александр7674 нравится это.
  8. Александр7674

    Александр7674 Новичок

    С нами с:
    25 май 2016
    Сообщения:
    4
    Симпатии:
    0
    Спасибо, очень помогли)