Такой вот вопрос, нужно чтобы пользователь при просмотре своего профиля мог видеть когда совершался предыдущий вход на сайт. Как такое можно реализовать?
Если уж вам нужно знать дату предыдущей авторизации - храните только два последних успешных логина.
В админке соответственно выводите время старого входа .
astrotrain: проверять активность сессии - https://habrahabr.ru/post/182352/ ... это надо считать с момента выхода. Если с момента входа - то просто записывать / обновлять переменную входа и по ней выводить. Или тоже самое но в БД , с привязкой к IP ( не всегда работает, т.к. IP может меняться)
Резюмируя, если так делать, то нужно обязательно к событию логина быть привязанным (это через сессии), а если через куки то тогда нужно мониторить окончание сессии и тогда писать в бд?
astrotrain: Вообщем варианта 1:
- Юзер ввел данные логина проля, если true , то проверяем куки - есть ли переменная last_login есть - выводим ее туда, где надо показать последний вход. После - перезаписываём новым. Если юзер первый раз зашел - создаём и записываем.
Вариант 2:
Через БД. записали в отдельную таблицу таблицу ( 3 колонки: activity_id | user_id | time ).
Юзер вошел. Проверяем таблицу по user_id с сортировки по времени и выводит крайнее. После - через Insert добавляем новое ( Update тяжелый запрос, так что проще будет черезе Insert).
Виталий: а как удалять накопившиеся ненужные записи в таблице с activity? Я так понимаю что достаточно будет двух записей, только их нужно будет как-то регулярно обновлять по-очереди.
astrotrain: если в этом есть нужда и в зависимости от объёмов - самое топорное - скрипт удаление записей , если count(user_id) > 1 - удалить более старые + CRON по расписанию ночью ... мб есть более красивое решение ...
Может проще на клиенте это всё сделать? После авторизации сохранять время в массив, класть его в localStorage, хранить две последние записи, выводить самую старую.