Ежедневные бонусы пользователям

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в Flash-приложениях (ActionScript)
Аватара пользователя
Volgar
Сообщения: 113
Зарегистрирован: 26 авг 2010, 18:56

Ежедневные бонусы пользователям

Сообщение Volgar »

Как правильно реализовать на PHP+mySQL, чтобы юзер (который уже есть в базе) получал при ежедневном заходе в приложение бонусные монеты?
Я знаю как их обновить, но как чтобы только один раз в сутки?
butuz
Сообщения: 58
Зарегистрирован: 29 июл 2010, 10:43

Re: Ежедневные бонусы пользователям

Сообщение butuz »

в базе завести еще одно поле "время получения подарка"

если разница между текущим временем и временем получения в пределах суток, значит подарок уже получен
Аватара пользователя
Volgar
Сообщения: 113
Зарегистрирован: 26 авг 2010, 18:56

Re: Ежедневные бонусы пользователям

Сообщение Volgar »

Спасибо. Пока тяжело представляю, но попробую.
Аватара пользователя
Volgar
Сообщения: 113
Зарегистрирован: 26 авг 2010, 18:56

Re: Ежедневные бонусы пользователям

Сообщение Volgar »

В общем-то сделал. Работает.
Сначала беру текущее время $dateNow = time();
Потом беру временя последнего посещения юзера из базы + сутки в секундах: $dateLast = $row['last_date'] + 86400;
Потом сравниваю:

Код: Выделить всё

if ($dateNow > $dateLast)        {        echo "BONUS";        }
Только как-то это наверное не правильно. В онлайн играх по другому. Там если заходишь после 12 ночи, то дают бонус один раз в сутки.
butuz
Сообщения: 58
Зарегистрирован: 29 июл 2010, 10:43

Re: Ежедневные бонусы пользователям

Сообщение butuz »

Volgar писал(а):Там если заходишь после 12 ночи, то дают бонус один раз в сутки.
можно завести булево поле в базе - забрал бонус - выставили true
в 12 ночи по крону вызвали скрипт выставили всем false
Аватара пользователя
Volgar
Сообщения: 113
Зарегистрирован: 26 авг 2010, 18:56

Re: Ежедневные бонусы пользователям

Сообщение Volgar »

Ну так тоже подумал:)
Аватара пользователя
Doker
Модератор
Модератор
Сообщения: 1026
Зарегистрирован: 07 май 2010, 18:53

Re: Ежедневные бонусы пользователям

Сообщение Doker »

И всеже более рациональній 1 способ.
Аватара пользователя
bodnar
Модератор
Модератор
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41

Re: Ежедневные бонусы пользователям

Сообщение bodnar »

В чем проблема? Смотришь, попадает ли последнее время получения бонуса в интервал от текущего времени до ближайшей полуночи. Если нет, та даешь бонус
Аватара пользователя
Volgar
Сообщения: 113
Зарегистрирован: 26 авг 2010, 18:56

Re: Ежедневные бонусы пользователям

Сообщение Volgar »

Смотришь, попадает ли последнее время получения бонуса в интервал от текущего времени до ближайшей полуночи. Если нет, та даешь бонус
Не очень понял. Тоже кроном что ли?

Видимо с кроном самая лучшая идея.
1. Добавляем в таблицу со статистикой юзеров поле bonus с типом TINYINT.
2. Делаем крон-файл, который каждую полночь всем юзерам ставит 1 в этом поле.
3. Если юзер зашел, то скрипт смотрит какое там значение - если 0, то ничего. Если 1, то меняет его на 0 и отправляет команду на бонус юзеру.
Аватара пользователя
Volgar
Сообщения: 113
Зарегистрирован: 26 авг 2010, 18:56

Re: Ежедневные бонусы пользователям

Сообщение Volgar »

А первый вариант вообще некорректно работает. Юзер может через каждый час заходить и скрипт отсчитывает сутки с последнего посещения.
Ответить