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
Форумы портала PHP.SU :: Версия для печати :: Ежедневный бонус (24 ч)
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » Ежедневный бонус (24 ч)

Страниц (1): [1]
 

1. camo1018 - 24 Ноября, 2016 - 09:12:31 - перейти к сообщению
Привет всем. Есть сайт
Есть кнопка http://image[dot]prntscr[dot]com/image/0[dot][dot][dot]649a4b30fda1[dot]png
Как сделать чтобы при нажатии на неё выдало 250 монет каждые 24ч? (Чтобы после нажатия на кнопку появлялся таймер)
2. 3d_killer - 24 Ноября, 2016 - 09:27:33 - перейти к сообщению
кому выдавало? куда зачисляло?
3. camo1018 - 24 Ноября, 2016 - 09:31:28 - перейти к сообщению
3d_killer пишет:
кому выдавало? куда зачисляло?

Есть БД, в БД есть таблица Users. Имеется строка balance
Чтобы при нажатии пользователя, выдавался бонус!
4. 3d_killer - 24 Ноября, 2016 - 09:35:01 - перейти к сообщению
добавь поле даты зачисления, и при выводе кнопки сравнивай, если сегодня выдавался то нехитрыми вычислениями выводи время сколько до следующего бонуса осталось
5. camo1018 - 24 Ноября, 2016 - 09:50:51 - перейти к сообщению
3d_killer пишет:
добавь поле даты зачисления, и при выводе кнопки сравнивай, если сегодня выдавался то нехитрыми вычислениями выводи время сколько до следующего бонуса осталось

Мне бы кодик Улыбка
6. camo1018 - 07 Декабря, 2016 - 21:19:12 - перейти к сообщению
Дайте код, пожалуйста.
7. Fart - 08 Декабря, 2016 - 02:48:33 - перейти к сообщению
каждые 24 часа - это сутки.
значит тебе нужно ориентироваться не на время, а на дату. и вообще такое решается по разному (обновление при входе либо через крон). попытаюсь алгоритм "родить":

1. создаешь столбец в субд с именем к примеру bonus c типом varchar (для фиксации ежедневного бонуса. к этой задаче можно применить типы varchar, date или текст) и access тип int (для подтверждения, что юзверь получил ежедневный бонус)

2. обязательно делаешь первую запись входа пользователя (создаешь запрос
INSERT INTO `пользователи` (тут что то в субд) VALUES (тут данные для субд, в том числе bonus и access)
значение пусть будет таким: bonus = '".Date("dmY")."' и access = 0

3. начисление бонуса:

Спойлер (Отобразить)


4. создаешь кнопку, иконку с этим самым бонусом с динамической ссылкой или аякс запросом на выполнение апа бонуса.

код пыха такой:
Спойлер (Отобразить)


что касается крон, то там просто и в тоже время сложно (в каком то смысле), так как зависит от структуры субд и от самого приложения и статистических данных (а именно посещаемость, активность и прочая лабуда).

в связи с этим при входе юзверя в приложение более менее оптимально с точки зрения выполнения задачи.
8. Мелкий - 08 Декабря, 2016 - 10:26:04 - перейти к сообщению
Fart пишет:
каждые 24 часа - это сутки.
значит тебе нужно ориентироваться не на время, а на дату.

А вот и есть два варианта:
- или считать календарную дату
- или считать ровно 24 часа от последнего аналогичного действия.

Поведение будет разное, этот момент должна разъяснять конкретная задача.

В любом случае, используйте нормальный формат даты, а не странный костыль.

Fart пишет:
и access тип int (для подтверждения, что юзверь получил ежедневный бонус)

А зачем он нужен? Наличия сегодняшней даты самодостаточно.
Дата default null.
9. Fart - 08 Декабря, 2016 - 13:04:10 - перейти к сообщению
Мелкий пишет:
Наличия сегодняшней даты самодостаточно.


не даты в целом, а только число месяца.
10. Мелкий - 08 Декабря, 2016 - 14:15:04 - перейти к сообщению
Fart пишет:
не даты в целом, а только число месяца.

Дата, и нафиг не нужны ни второе поле ни крон при полном сохранении логики работы.
11. Fart - 08 Декабря, 2016 - 15:25:09 - перейти к сообщению
что то на словах это все. и в итоге гейзенбаги

 

Powered by ExBB FM 1.0 RC1