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 :: Авторизация в в течение заданного количества дней подряд
Покинул форум
Сообщений всего: 28
Дата рег-ции: Июнь 2013
Помог: 0 раз(а)
Не могу правильно продумать как все реализовать.
Нужно сохранять пользователя в базе, если он допустим производил авторизацию на сайте 3 дня подряд. С чего начать вообще ?
p.s пишу на Phalcon фреймворке
Viper
Отправлено: 05 Декабря, 2014 - 11:17:00
Активный участник
Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007 Откуда: Симферополь
Помог: 98 раз(а)
dreamfactor пишет:
Нужно сохранять пользователя в базе, если он допустим производил авторизацию на сайте 3 дня подряд.
подробнее с этого места.
Если авторизация через сторонние системы, то в чем проблема? Считаем кол-во авторизаций юзера за нужный период и при превышении лимита(минимума) выполняем какие-то действия.
Если через собственную систему авторизации, то не понятно что нужно вообще.
Покинул форум
Сообщений всего: 28
Дата рег-ции: Июнь 2013
Помог: 0 раз(а)
Viper пишет:
dreamfactor пишет:
Нужно сохранять пользователя в базе, если он допустим производил авторизацию на сайте 3 дня подряд.
подробнее с этого места.
Если авторизация через сторонние системы, то в чем проблема? Считаем кол-во авторизаций юзера за нужный период и при превышении лимита(минимума) выполняем какие-то действия.
Если через собственную систему авторизации, то не понятно что нужно вообще.
Нет, авторизация через собственную систему, то есть пользователь заходит на сайт 3 дня подряд и после этого только сможет принят участие в турнире ( то есть сохранить его в бд).
IGORtrue
Отправлено: 05 Декабря, 2014 - 11:34:14
Частый гость
Покинул форум
Сообщений всего: 177
Дата рег-ции: Апр. 2012
Помог: 0 раз(а)
Может записывать дату, например
22.12.2014
23.12.2014
24.12.2014
Каждый раз при заходе проверять даты (условие, если текущая и последняя совпадают, то не записываем), если три последние отличаются на один день, то
flag = 1
Покинул форум
Сообщений всего: 28
Дата рег-ции: Июнь 2013
Помог: 0 раз(а)
IGORtrue пишет:
Может записывать дату, например
22.12.2014
23.12.2014
24.12.2014
Каждый раз при заходе проверять даты (условие, если текущая и последняя совпадают, то не записываем), если три последние отличаются на один день, то
flag = 1
а даты в базу чтоли записывать ? не вариант мне кажется
Viper
Отправлено: 05 Декабря, 2014 - 15:09:48
Активный участник
Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007 Откуда: Симферополь
Помог: 98 раз(а)
dreamfactor у вас есть id юзера. При первом заходе сохраняете когда он первый раз вошел(дату) и ставите счетчик +1. Далее сверяете если текущая дата равна "начальная +2" и счетчик равен 3, выполняете нужные действия.
Покинул форум
Сообщений всего: 66
Дата рег-ции: Окт. 2014
Помог: 3 раз(а)
dreamfactor, а логи авторизации не пишутся в бд?
dreamfactor
Отправлено: 05 Декабря, 2014 - 16:45:46
Новичок
Покинул форум
Сообщений всего: 28
Дата рег-ции: Июнь 2013
Помог: 0 раз(а)
Viper пишет:
dreamfactor у вас есть id юзера. При первом заходе сохраняете когда он первый раз вошел(дату) и ставите счетчик +1. Далее сверяете если текущая дата равна "начальная +2" и счетчик равен 3, выполняете нужные действия.
ок, это я понял, а как сделать если допустим у меня указывается дата там с 05.12.14 по 08.12.14 , то как тогда ? нужно именно в этот период считывать
Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007 Откуда: Симферополь
Помог: 98 раз(а)
dreamfactor изначально вы спрашивали про 3 дня. А это константа.
То что вы хотите сделать сейчас(за период) без логирования будет сложновато. Ну или на SQL делать выборку за период по юзеру.
Покинул форум
Сообщений всего: 177
Дата рег-ции: Апр. 2012
Помог: 0 раз(а)
Viper пишет:
dreamfactor у вас есть id юзера. При первом заходе сохраняете когда он первый раз вошел(дату) и ставите счетчик +1. Далее сверяете если текущая дата равна "начальная +2" и счетчик равен 3, выполняете нужные действия.
Интересное решение, спасибку тыкнул.
dreamfactor
Отправлено: 05 Декабря, 2014 - 19:32:52
Новичок
Покинул форум
Сообщений всего: 28
Дата рег-ции: Июнь 2013
Помог: 0 раз(а)
Viper пишет:
dreamfactor изначально вы спрашивали про 3 дня. А это константа.
То что вы хотите сделать сейчас(за период) без логирования будет сложновато. Ну или на SQL делать выборку за период по юзеру.
можно поподробней ?
Viper
Отправлено: 05 Декабря, 2014 - 20:42:22
Активный участник
Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007 Откуда: Симферополь
то есть есть только дата начала и дата окончания, как можно сделать учет авторизаций за этот промежуток ?
дата последнего посещения уже записывается в таблицу users.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.