X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Вопрос по автоматическому запуску команды
Mapshal
Mapshal
Topic Starter сообщение 25.2.2015, 13:04; Ответить: Mapshal
Сообщение #1


Здравствуйте, есть вопрос
На странице каждого пользователя будет кнопка, которую если он не нажимает в течении суток, пользователь становится не активным
Таблица пользователей в базе данных users, строка active если пользователь активен active=1, если нет то 0.
Нужно сделать так, что бы если кнопка не нажималась сутки то автоматически active ставилось 0, а при каждом нажатии кнопки эти сутки как бы начинались с начала, то есть сутки должны пройти после последнего нажатия кнопки, ну и нужно что бы выводился таймер, можно без js.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
x64
x64
сообщение 25.2.2015, 13:16; Ответить: x64
Сообщение #2


Цитата(Mapshal @ 25.2.2015, 12:04) *
Таблица пользователей в базе данных users, строка active если пользователь активен active=1, если нет то 0.

Куда логичнее в active заместо 0/1 записывать текущее время (хотя бы значение php-функции time() ). И проверять не на единицу/ноль, а на число прошедших секунд:
Код
# $user — массив с данными пользователя
if ( (time() - $user['active']) > 86400 ) {
  # пользователь [b]не[/b] активен
} else {
  # пользователь активен
}


Цитата(Mapshal @ 25.2.2015, 12:04) *
и нужно что бы выводился таймер, можно без js

А как, флешем? Или святым духом?

Продумайте, как это должно выглядеть, напишите ТЗ, и сделают всё очень быстро.


Поблагодарили: (2)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Mapshal
Mapshal
Topic Starter сообщение 25.2.2015, 13:23; Ответить: Mapshal
Сообщение #3


Цитата(x64 @ 25.2.2015, 13:16) *
Куда логичнее в active заместо 0/1 записывать текущее время (хотя бы значение php-функции time() ). И проверять не на единицу/ноль, а на число прошедших секунд:


Вы не поняли меня, нужно не по текущему времени суток, а по истечению 24 часа после последнего нажатия кнопки
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Tier_rf
Tier_rf
сообщение 25.2.2015, 13:28; Ответить: Tier_rf
Сообщение #4


Mapshal, добавьте в бд поле с датой и временем нажатия кнопки. При нажатии пишите текущие данные.
Отключать акки можно сверяя с текущей датой\временем каждый час, cron вам в помощь.


--------------------
RNS GROUP - надежное онлайн инвестирование. До 3% в сутки.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Mapshal
Mapshal
Topic Starter сообщение 25.2.2015, 13:30; Ответить: Mapshal
Сообщение #5


Tier_rf, Не могли бы вы показать на примере как это будет выглядеть в коде?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Tier_rf
Tier_rf
сообщение 25.2.2015, 13:43; Ответить: Tier_rf
Сообщение #6


Mapshal, Это уже дело программиста, плюс особенности вашего движка я не знаю.
Алгоритм прост:
Кнопка в профиле при нажатие на которую пишется sql запросом текущее дата\время
Таймер до отключения. При выводе проверяем отключен ли пользователь, если нет то запрос данных по предыдущему нажатию кнопки + сутки - текущее дата\время
Отключение учеток. Сверяем активные учетки поле дата\время нажатия кнопки + сутки с текущей дата\время и если текущее больше отключаем учетку.
Точность отключения будет зависить от того как часто вы запускаете этот скрипт. Настройки cron вам в помощь.


--------------------
RNS GROUP - надежное онлайн инвестирование. До 3% в сутки.


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Mapshal
Mapshal
Topic Starter сообщение 25.2.2015, 13:45; Ответить: Mapshal
Сообщение #7


Tier_rf, Спасибо, буду пробовать.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
x64
x64
сообщение 25.2.2015, 14:55; Ответить: x64
Сообщение #8


Цитата(Mapshal @ 25.2.2015, 12:23) *
нужно не по текущему времени суток, а по истечению 24 часа после последнего нажатия кнопки

В каком месте у меня текущее время суток?
Пользователь нажимает кнопку, естественно, значение active обновляется на текущее time().
Вот и помогай после такого...


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Mapshal
Mapshal
Topic Starter сообщение 25.2.2015, 16:07; Ответить: Mapshal
Сообщение #9


x64, Подскажите как от даты отнять дату, дату вывожу так date('d.m.y H:i:s'), как отнять от неё 24 часа?

Все, разобрался, всем кто помогал спасибо.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Услуги программирования от команды разработчиков
3 Powinteh 3511 9.4.2023, 19:19
автор: Powinteh
Открытая тема (нет новых ответов) AndyPartners - новое фарма-решение от команды с 10 летним опытом!
1 AndyPartners 2856 27.5.2021, 12:35
автор: AndyPartners
Открытая тема (нет новых ответов) Вопрос - платное размещение баннеров на сайте
10 WGN 3184 14.12.2020, 14:20
автор: Peterson
Открытая тема (нет новых ответов) Вопрос по рекламе в "инстаграме"
Только активные аккаунты могут создавать или редактировать рекламу
8 Zubkov 16050 17.1.2020, 17:49
автор: Forumacc
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыВопрос-ответ о работе форума
307 dos1k 43322 9.11.2019, 17:59
автор: heks


 



RSS Текстовая версия Сейчас: 20.4.2024, 0:52
Дизайн