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

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

1. difight - 17 Февраля, 2014 - 07:27:58 - перейти к сообщению
Сообствено как правильно реализовать такую функцию, я так понимаю дату последнего входа надо записывать когда пользователь выходит с сайта, однако как быть, если он тупо закрыл браузер и все.
2. SAD - 17 Февраля, 2014 - 08:24:15 - перейти к сообщению
onbeforeunload например(слать ajax'ом время). последний переход по ссылке, последняя активность. вариантов куча
3. difight - 17 Февраля, 2014 - 09:31:13 - перейти к сообщению
SAD пишет:
onbeforeunload например(слать ajax'ом время). последний переход по ссылке, последняя активность. вариантов куча

помимо jquery как этот вопрос еще решить можно?
4. Мелкий - 17 Февраля, 2014 - 09:36:49 - перейти к сообщению
Дата последнего входа - это дата входа. При чём тут закрытие браузера и выход с сайта?
5. difight - 17 Февраля, 2014 - 09:40:25 - перейти к сообщению
Мелкий пишет:
Дата последнего входа - это дата входа. При чём тут закрытие браузера и выход с сайта?

В какой момент его записывать в базу, если прям при входе, то всегда дата последнего входа будет новая, т.е. зашел я и дата последнего входа будет только чтоУлыбка
(Добавление)
Может не так вопрос понял, ну или я не так сформулировал, задача в том, что бы при заходе в аккаунт у меня выводилась дата последнего входа, т.е. не которая сейчас произошла, а до этого.
6. Мелкий - 17 Февраля, 2014 - 09:52:19 - перейти к сообщению
difight пишет:
т.е. зашел я и дата последнего входа будет только что

Всё верно, так оно и есть.
(Добавление)
А это уже предпоследний вход.
Если под входом понимать авторизацию - пишите таблицу авторизации пользователя: user_id, datetime, ip, ещё-чего-нибудь по желанию. Пригодится на будущее, выяснить кто что откуда и куда. И отсюда же банальным
CODE (SQL):
скопировать код в буфер обмена
  1. WHERE user_id=? ORDER BY datetime LIMIT 1,1
будет выясняться предыдущий вход.
7. difight - 17 Февраля, 2014 - 10:29:40 - перейти к сообщению
Мелкий пишет:
difight пишет:
т.е. зашел я и дата последнего входа будет только что

Всё верно, так оно и есть.
(Добавление)
А это уже предпоследний вход.
Если под входом понимать авторизацию - пишите таблицу авторизации пользователя: user_id, datetime, ip, ещё-чего-нибудь по желанию. Пригодится на будущее, выяснить кто что откуда и куда. И отсюда же банальным
CODE (SQL):
скопировать код в буфер обмена
  1. WHERE user_id=? ORDER BY datetime LIMIT 1,1
будет выясняться предыдущий вход.

ну у меня сейчас сессии хранятся в базе http://prntscr[dot]com/2t9b0w в такой таблице а сами пользователи в другой, пытаюсь завязать так
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. SELECT * FROM userlist LEFT JOIN online ON online.id_user = userlist.id  WHERE userlist.id = :id ORDER BY online.unix_time LIMIT 1,1

получается что всегда одно и тоже значение тянет даже если сессию новую сделать один фиг 1 число, что делаю не так?
8. Tyoma5891 - 17 Февраля, 2014 - 10:41:22 - перейти к сообщению
difight пишет:
Мелкий пишет:
difight пишет:
т.е. зашел я и дата последнего входа будет только что

Всё верно, так оно и есть.
(Добавление)
А это уже предпоследний вход.
Если под входом понимать авторизацию - пишите таблицу авторизации пользователя: user_id, datetime, ip, ещё-чего-нибудь по желанию. Пригодится на будущее, выяснить кто что откуда и куда. И отсюда же банальным
CODE (SQL):
скопировать код в буфер обмена
  1. WHERE user_id=? ORDER BY datetime LIMIT 1,1
будет выясняться предыдущий вход.

ну у меня сейчас сессии хранятся в базе http://prntscr[dot]com/2t9b0w в такой таблице а сами пользователи в другой, пытаюсь завязать так
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. SELECT * FROM userlist LEFT JOIN online ON online.id_user = userlist.id  WHERE userlist.id = :id ORDER BY online.unix_time LIMIT 1,1


получается что всегда одно и тоже значение тянет даже если сессию новую сделать один фиг 1 число, что делаю не так?

не усложняйте себе жизнь, храните все в одной таблице и не на сессиях, а на куки...
9. difight - 17 Февраля, 2014 - 10:44:18 - перейти к сообщению
Tyoma5891 пишет:
difight пишет:
Мелкий пишет:
difight пишет:
т.е. зашел я и дата последнего входа будет только что

Всё верно, так оно и есть.
(Добавление)
А это уже предпоследний вход.
Если под входом понимать авторизацию - пишите таблицу авторизации пользователя: user_id, datetime, ip, ещё-чего-нибудь по желанию. Пригодится на будущее, выяснить кто что откуда и куда. И отсюда же банальным
CODE (SQL):
скопировать код в буфер обмена
  1. WHERE user_id=? ORDER BY datetime LIMIT 1,1
будет выясняться предыдущий вход.

ну у меня сейчас сессии хранятся в базе http://prntscr[dot]com/2t9b0w в такой таблице а сами пользователи в другой, пытаюсь завязать так
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. SELECT * FROM userlist LEFT JOIN online ON online.id_user = userlist.id  WHERE userlist.id = :id ORDER BY online.unix_time LIMIT 1,1


получается что всегда одно и тоже значение тянет даже если сессию новую сделать один фиг 1 число, что делаю не так?

не усложняйте себе жизнь, храните все в одной таблице и не на сессиях, а на куки...

что значит в 1 таблице все ?Улыбка)) + мне сессии нужны для отслеживания пользователей и гостей онлайн
10. Tyoma5891 - 17 Февраля, 2014 - 10:50:58 - перейти к сообщению
куки как раз для отслеживания и предназначены, хранить и куки и время и остальные джанные в одной таблице или такое невозможно?
11. difight - 17 Февраля, 2014 - 10:54:33 - перейти к сообщению
Tyoma5891 пишет:
куки как раз для отслеживания и предназначены, хранить и куки и время и остальные джанные в одной таблице или такое невозможно?

т.е. ты предлогаешь хранить данные пользователя и данные его авторизаций в одной таблице что ли?
12. Tyoma5891 - 17 Февраля, 2014 - 11:03:52 - перейти к сообщению
difight пишет:
Tyoma5891 пишет:
куки как раз для отслеживания и предназначены, хранить и куки и время и остальные джанные в одной таблице или такое невозможно?

т.е. ты предлогаешь хранить данные пользователя и данные его авторизаций в одной таблице что ли?

да
13. difight - 17 Февраля, 2014 - 11:05:52 - перейти к сообщению
Tyoma5891 пишет:
да

и чё это будет, после каждого входа все данные пользователя будут записывать заного, меняться будет только дата входа и его айпи, нафига мне такой дубляж данных ?
14. Мелкий - 17 Февраля, 2014 - 11:11:16 - перейти к сообщению
Tyoma5891 пишет:
не усложняйте себе жизнь, храните все в одной таблице

Вы себе противоречите. Хранить всё в одной таблице - и есть усложнение.

difight, проверьте направление сортировки, не вытягиваете ли вы самую старую запись. Потому она и получается неизменной. Я asc|desc всегда путаю...
15. difight - 17 Февраля, 2014 - 11:23:27 - перейти к сообщению
Мелкий пишет:

difight, проверьте направление сортировки, не вытягиваете ли вы самую старую запись. Потому она и получается неизменной. Я asc|desc всегда путаю...

Все верно DESC нужен, запрос в общем выглядит так
CODE (htmlphp):
скопировать код в буфер обмена
  1. SELECT * FROM online    LEFT JOIN userlist ON online.id_user = userlist.id WHERE userlist.id = :id ORDER BY online.unix_time DESC LIMIT 1, 1

 

Powered by ExBB FM 1.0 RC1