Не могу правильно продумать как все реализовать.
Нужно сохранять пользователя в базе, если он допустим производил авторизацию на сайте 3 дня подряд. С чего начать вообще ?
p.s пишу на Phalcon фреймворке
1. dreamfactor - 05 Декабря, 2014 - 11:09:12 - перейти к сообщению
2. Viper - 05 Декабря, 2014 - 11:17:00 - перейти к сообщению
dreamfactor пишет:
подробнее с этого места.Нужно сохранять пользователя в базе, если он допустим производил авторизацию на сайте 3 дня подряд.
Если авторизация через сторонние системы, то в чем проблема? Считаем кол-во авторизаций юзера за нужный период и при превышении лимита(минимума) выполняем какие-то действия.
Если через собственную систему авторизации, то не понятно что нужно вообще.
3. dreamfactor - 05 Декабря, 2014 - 11:28:46 - перейти к сообщению
Viper пишет:
Если авторизация через сторонние системы, то в чем проблема? Считаем кол-во авторизаций юзера за нужный период и при превышении лимита(минимума) выполняем какие-то действия.
Если через собственную систему авторизации, то не понятно что нужно вообще.
dreamfactor пишет:
подробнее с этого места.Нужно сохранять пользователя в базе, если он допустим производил авторизацию на сайте 3 дня подряд.
Если авторизация через сторонние системы, то в чем проблема? Считаем кол-во авторизаций юзера за нужный период и при превышении лимита(минимума) выполняем какие-то действия.
Если через собственную систему авторизации, то не понятно что нужно вообще.
Нет, авторизация через собственную систему, то есть пользователь заходит на сайт 3 дня подряд и после этого только сможет принят участие в турнире ( то есть сохранить его в бд).
4. IGORtrue - 05 Декабря, 2014 - 11:34:14 - перейти к сообщению
Может записывать дату, например
22.12.2014
23.12.2014
24.12.2014
Каждый раз при заходе проверять даты (условие, если текущая и последняя совпадают, то не записываем), если три последние отличаются на один день, то
flag = 1
22.12.2014
23.12.2014
24.12.2014
Каждый раз при заходе проверять даты (условие, если текущая и последняя совпадают, то не записываем), если три последние отличаются на один день, то
flag = 1
5. dreamfactor - 05 Декабря, 2014 - 11:40:45 - перейти к сообщению
IGORtrue пишет:
Может записывать дату, например
22.12.2014
23.12.2014
24.12.2014
Каждый раз при заходе проверять даты (условие, если текущая и последняя совпадают, то не записываем), если три последние отличаются на один день, то
flag = 1
22.12.2014
23.12.2014
24.12.2014
Каждый раз при заходе проверять даты (условие, если текущая и последняя совпадают, то не записываем), если три последние отличаются на один день, то
flag = 1
а даты в базу чтоли записывать ? не вариант мне кажется
6. Viper - 05 Декабря, 2014 - 15:09:48 - перейти к сообщению
dreamfactor у вас есть id юзера. При первом заходе сохраняете когда он первый раз вошел(дату) и ставите счетчик +1. Далее сверяете если текущая дата равна "начальная +2" и счетчик равен 3, выполняете нужные действия.
7. Dastor - 05 Декабря, 2014 - 15:20:03 - перейти к сообщению
dreamfactor, а логи авторизации не пишутся в бд?
8. dreamfactor - 05 Декабря, 2014 - 16:45:46 - перейти к сообщению
Viper пишет:
dreamfactor у вас есть id юзера. При первом заходе сохраняете когда он первый раз вошел(дату) и ставите счетчик +1. Далее сверяете если текущая дата равна "начальная +2" и счетчик равен 3, выполняете нужные действия.
ок, это я понял, а как сделать если допустим у меня указывается дата там с 05.12.14 по 08.12.14 , то как тогда ? нужно именно в этот период считывать
9. Viper - 05 Декабря, 2014 - 16:56:09 - перейти к сообщению
dreamfactor изначально вы спрашивали про 3 дня. А это константа.
То что вы хотите сделать сейчас(за период) без логирования будет сложновато. Ну или на SQL делать выборку за период по юзеру.
То что вы хотите сделать сейчас(за период) без логирования будет сложновато. Ну или на SQL делать выборку за период по юзеру.
10. IGORtrue - 05 Декабря, 2014 - 19:18:46 - перейти к сообщению
Viper пишет:
dreamfactor у вас есть id юзера. При первом заходе сохраняете когда он первый раз вошел(дату) и ставите счетчик +1. Далее сверяете если текущая дата равна "начальная +2" и счетчик равен 3, выполняете нужные действия.
Интересное решение, спасибку тыкнул.
11. dreamfactor - 05 Декабря, 2014 - 19:32:52 - перейти к сообщению
Viper пишет:
dreamfactor изначально вы спрашивали про 3 дня. А это константа.
То что вы хотите сделать сейчас(за период) без логирования будет сложновато. Ну или на SQL делать выборку за период по юзеру.
То что вы хотите сделать сейчас(за период) без логирования будет сложновато. Ну или на SQL делать выборку за период по юзеру.
можно поподробней ?
![Улыбка Улыбка](./im/emoticons/smile24.gif)
12. Viper - 05 Декабря, 2014 - 20:42:22 - перейти к сообщению
dreamfactor
как пример:
как пример:
CODE (SQL):
скопировать код в буфер обмена
скопировать код в буфер обмена
- SELECT blabla
- FROM bloblo
- WHERE (bleble BETWEEN start_date AND end_date) AND counter = 3