Задать вопрос
@KamburI

Как ограничить кол-во выполнений функции?

Есть такой код, который ограничивает кол-во выполнений в минуту. Проблема в том, что функция выполняется через минуту. Нужно, чтобы первый раз функция выполнилась сразу, а следующий через минуту.

function test(){

$time = $_COOKIE['time'] ?? 0;
if($time < time()){
setcookie('time', time() + 60); // ф-цию можно выполнять раз в 60 сек.
//выполняем ф-цию
}
}
  • Вопрос задан
  • 128 просмотров
Подписаться 2 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
anton_reut
@anton_reut
Начинающий веб-разработчик
Там где +60 пропиши +0
Ответ написан
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Во первых: на клиенте можно поменять куку(или вообще стереть) и будет выполняться сколько захочу раз. Можно хранить этот таймер в сессии, тогда возможности его поменять у пользователя не будет.

Во вторых:
function test(){
  if(empty($_SESSION['last_time']) || ($_SESSION['last_time']+60) < time()){
     $_SESSION['last_time'] = time();
     ... // do some
  }
}
опять же, будет работать только для пользователей, которые не удалили сессию со своей стороны, например залогинены на сайте.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽