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 :: Дата последнего входа

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
difight
Отправлено: 17 Февраля, 2014 - 07:27:58
Post Id



Посетитель


Покинул форум
Сообщений всего: 355
Дата рег-ции: Нояб. 2011  


Помог: 3 раз(а)




Сообствено как правильно реализовать такую функцию, я так понимаю дату последнего входа надо записывать когда пользователь выходит с сайта, однако как быть, если он тупо закрыл браузер и все.
 
My status
 Top
SAD Модератор
Отправлено: 17 Февраля, 2014 - 08:24:15
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




onbeforeunload например(слать ajax'ом время). последний переход по ссылке, последняя активность. вариантов куча
 
 Top
difight
Отправлено: 17 Февраля, 2014 - 09:31:13
Post Id



Посетитель


Покинул форум
Сообщений всего: 355
Дата рег-ции: Нояб. 2011  


Помог: 3 раз(а)




SAD пишет:
onbeforeunload например(слать ajax'ом время). последний переход по ссылке, последняя активность. вариантов куча

помимо jquery как этот вопрос еще решить можно?
 
My status
 Top
Мелкий Супермодератор
Отправлено: 17 Февраля, 2014 - 09:36:49
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Дата последнего входа - это дата входа. При чём тут закрытие браузера и выход с сайта?


-----
PostgreSQL DBA
 
 Top
difight
Отправлено: 17 Февраля, 2014 - 09:40:25
Post Id



Посетитель


Покинул форум
Сообщений всего: 355
Дата рег-ции: Нояб. 2011  


Помог: 3 раз(а)




Мелкий пишет:
Дата последнего входа - это дата входа. При чём тут закрытие браузера и выход с сайта?

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



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




difight пишет:
т.е. зашел я и дата последнего входа будет только что

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


-----
PostgreSQL DBA
 
 Top
difight
Отправлено: 17 Февраля, 2014 - 10:29:40
Post Id



Посетитель


Покинул форум
Сообщений всего: 355
Дата рег-ции: Нояб. 2011  


Помог: 3 раз(а)




Мелкий пишет:
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 число, что делаю не так?
 
My status
 Top
Tyoma5891
Отправлено: 17 Февраля, 2014 - 10:41:22
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 621
Дата рег-ции: Авг. 2013  


Помог: 5 раз(а)




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 число, что делаю не так?

не усложняйте себе жизнь, храните все в одной таблице и не на сессиях, а на куки...
 
 Top
difight
Отправлено: 17 Февраля, 2014 - 10:44:18
Post Id



Посетитель


Покинул форум
Сообщений всего: 355
Дата рег-ции: Нояб. 2011  


Помог: 3 раз(а)




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 таблице все ?Улыбка)) + мне сессии нужны для отслеживания пользователей и гостей онлайн
 
My status
 Top
Tyoma5891
Отправлено: 17 Февраля, 2014 - 10:50:58
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 621
Дата рег-ции: Авг. 2013  


Помог: 5 раз(а)




куки как раз для отслеживания и предназначены, хранить и куки и время и остальные джанные в одной таблице или такое невозможно?
 
 Top
difight
Отправлено: 17 Февраля, 2014 - 10:54:33
Post Id



Посетитель


Покинул форум
Сообщений всего: 355
Дата рег-ции: Нояб. 2011  


Помог: 3 раз(а)




Tyoma5891 пишет:
куки как раз для отслеживания и предназначены, хранить и куки и время и остальные джанные в одной таблице или такое невозможно?

т.е. ты предлогаешь хранить данные пользователя и данные его авторизаций в одной таблице что ли?
 
My status
 Top
Tyoma5891
Отправлено: 17 Февраля, 2014 - 11:03:52
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 621
Дата рег-ции: Авг. 2013  


Помог: 5 раз(а)




difight пишет:
Tyoma5891 пишет:
куки как раз для отслеживания и предназначены, хранить и куки и время и остальные джанные в одной таблице или такое невозможно?

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

да
 
 Top
difight
Отправлено: 17 Февраля, 2014 - 11:05:52
Post Id



Посетитель


Покинул форум
Сообщений всего: 355
Дата рег-ции: Нояб. 2011  


Помог: 3 раз(а)




Tyoma5891 пишет:
да

и чё это будет, после каждого входа все данные пользователя будут записывать заного, меняться будет только дата входа и его айпи, нафига мне такой дубляж данных ?
 
My status
 Top
Мелкий Супермодератор
Отправлено: 17 Февраля, 2014 - 11:11:16
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Tyoma5891 пишет:
не усложняйте себе жизнь, храните все в одной таблице

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

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


-----
PostgreSQL DBA
 
 Top
difight
Отправлено: 17 Февраля, 2014 - 11:23:27
Post Id



Посетитель


Покинул форум
Сообщений всего: 355
Дата рег-ции: Нояб. 2011  


Помог: 3 раз(а)




Мелкий пишет:

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

(Отредактировано автором: 17 Февраля, 2014 - 11:23:40)

 
My status
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB