Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Ограничиваем выполнение скрипта на раз в сутки
Как прикрутить ограничение на получение этого самого бонуса на раз в сутки.
Есть предположение, что можно сделать так:
При получении бонуса заносим в таблицу время, когда он был получен, и к этому времени прибавляем сутки, после чего, скриптом, который по крону будет сверять, не истекло ли время, очищать таблицу, если время истекло, либо, если запись со временем в колонке присутствует, говорить, что сегодня бонус был получен.
Мысли есть, реализовать не могу. Есть даже набросок, вроде этого:
Покинул форум
Сообщений всего: 79
Дата рег-ции: Июль 2013
Помог: 1 раз(а)
Пиши в базу дату выдачи бонуса, добавляй к этой дате 24ч и выводи форму или не выводи
Очень простая задача в плане реализации
ykpon
Отправлено: 26 Июля, 2013 - 16:57:52
Новичок
Покинул форум
Сообщений всего: 16
Дата рег-ции: Июль 2013
Помог: 0 раз(а)
Alvor пишет:
Пиши в базу дату выдачи бонуса, добавляй к этой дате 24ч и выводи форму или не выводи
Очень простая задача в плане реализации
Я и прошу помочь ее реализовать, а не переписать метод, который описал я.
У меня проблемы с реализацией, а не способом.
Все таки, раздел называется "Напишите за меня, пожалуйста", а не "Как сделать".
LIME
Отправлено: 26 Июля, 2013 - 17:12:13
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
ykpon я дико извиняюсь но считаю нужным не написать за тебя а направить
итак
зачем кроном что-то делать?
просто при добавлении бонуса проверяй не получен ли он уже
много лишней нагрузки снимешь
ykpon
Отправлено: 26 Июля, 2013 - 17:44:34
Новичок
Покинул форум
Сообщений всего: 16
Дата рег-ции: Июль 2013
Помог: 0 раз(а)
LIME пишет:
ykpon я дико извиняюсь но считаю нужным не написать за тебя а направить
итак
зачем кроном что-то делать?
просто при добавлении бонуса проверяй не получен ли он уже
много лишней нагрузки снимешь
Да, этот способ тоже указан в шапке, но повторюсь:
У меня не получается это реализовать.
Господа, я понимаю, что вам нет резона что либо писать, ведь вам за это не заплатят.
Но я написал в соответствующий раздел не для того, чтобы мне говорили как сделать, с этим у меня проблем нет
Я прошу помощи в реализации, именно поэтому я сюда написал.
Сей текстом я никого не хотел обидеть, но, правда, читайте, пожалуйста, сообщения внимательней.
LIME
Отправлено: 26 Июля, 2013 - 17:46:50
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
ykpon тогда уж будь любезен показать код
как пытаешься?
точно писать не буду но вполне возможно что у тебя элементарная ошибка в коде
пысы: глянь ссылку в подписи
ykpon
Отправлено: 26 Июля, 2013 - 17:53:17
Новичок
Покинул форум
Сообщений всего: 16
Дата рег-ции: Июль 2013
Помог: 0 раз(а)
LIME пишет:
ykpon тогда уж будь любезен показать код
как пытаешься?
точно писать не буду но вполне возможно что у тебя элементарная ошибка в коде
пысы: глянь ссылку в подписи
Как может появиться ошибка в том, чего нет?
Первый код - обработчик кнопки.
Третий - пример реализации.
Я прошу склеить это вместе.
Alvor
Отправлено: 26 Июля, 2013 - 18:00:41
Гость
Покинул форум
Сообщений всего: 79
Дата рег-ции: Июль 2013
Помог: 1 раз(а)
ykpon пишет:
LIME пишет:
ykpon тогда уж будь любезен показать код
как пытаешься?
точно писать не буду но вполне возможно что у тебя элементарная ошибка в коде
пысы: глянь ссылку в подписи
Как может появиться ошибка в том, чего нет?
Первый код - обработчик кнопки.
Третий - пример реализации.
Я прошу склеить это вместе.
БД использовать как я понимаю - собирался, да?
LIME
Отправлено: 26 Июля, 2013 - 18:01:29
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
mysql_query("UPDATE tbl SET `last_bonus_time` = NOW() WHERE (`id`=$user_id)") or die(mysql_error());
// записываем новую дату выдачи в БД
}
}
?>
ykpon
Отправлено: 26 Июля, 2013 - 18:19:52
Новичок
Покинул форум
Сообщений всего: 16
Дата рег-ции: Июль 2013
Помог: 0 раз(а)
Alvor пишет:
ykpon пишет:
LIME пишет:
ykpon тогда уж будь любезен показать код
как пытаешься?
точно писать не буду но вполне возможно что у тебя элементарная ошибка в коде
пысы: глянь ссылку в подписи
Как может появиться ошибка в том, чего нет?
Первый код - обработчик кнопки.
Третий - пример реализации.
Я прошу склеить это вместе.
$timebd=mysqli_query("SELECT last_bonus_time FROM tbl WHERE id=$user_id")->fetch_array()[0]+(24*60*60);
извини
снова не написал все за тебя
если не помог то игнорируй пост (Добавление)
>=5.4
Думаю, что помог.
Теперь попытаюсь правильно прикрутить сие дело, не смотря на то, что с этим и проблема.
Цитата:
>=5.4
Это по теме или что?, если не секрет?
LIME
Отправлено: 26 Июля, 2013 - 18:21:38
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
Alvor хрень полнейшая
начнем с того что >= 24*60*60 всетаки (Добавление)
ykpon пишет:
Это по теме или что?, если не секрет?
разыменование массива возможно только в php >=5.4
иначе придется слегка доработать (Добавление)
вернее разыменование массива возвращемого ф-цией
тоесть 5.4 возможно my_func()[0]
а для 5.3 надо $arr=my_func(); echo $arr[0]
Alvor
Отправлено: 26 Июля, 2013 - 18:26:58
Гость
Покинул форум
Сообщений всего: 79
Дата рег-ции: Июль 2013
Помог: 1 раз(а)
LIME пишет:
Alvor хрень полнейшая
начнем с того что >= 24*60*60 всетаки (Добавление)
ykpon пишет:
Это по теме или что?, если не секрет?
разыменование массива возможно только в php >=5.4
иначе придется слегка доработать
Почему же хрень?
LIME
Отправлено: 26 Июля, 2013 - 18:28:24
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
Alvor пройти по каждому пункту?
лениво
достаточно того что я не рекомендую ТС следовать коду буквально (Добавление)
Alvor пишет:
$last_time[0] >= 24
более 24 секунд?))
дальше даже не смотрю
ykpon
Отправлено: 26 Июля, 2013 - 18:31:59
Новичок
Покинул форум
Сообщений всего: 16
Дата рег-ции: Июль 2013
Помог: 0 раз(а)
LIME пишет:
Alvor пройти по каждому пункту?
лениво
достаточно того что я не рекомендую ТС следовать коду буквально (Добавление)
Alvor пишет:
$last_time[0] >= 24
более 24 секунд?))
дальше даже не смотрю
Да ладно Вам придираться. Более чем уверен, что он имел ввиду 24*60*60.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.