Подскажите алгоритм реализации "последнее посещение пользователя"

Тема в разделе "Как сделать...", создана пользователем eugenel, 19 дек 2009.

Статус темы:
Закрыта.
  1. eugenel

    eugenel Постоялец

    Регистр.:
    3 авг 2008
    Сообщения:
    122
    Симпатии:
    14
    Мне нужно реализовать на сайте "последнее посещение пользователя", т.е. когда в его профиле будет писать, когда он последний раз был.
    Данные о пользователей у меня хранятся в базе данных. Но каждый раз при посещении страницу делать инсерт в базу данных с временем посещения, мне кажется очень не оптимизировано. Может подскажите как это правильно и при максимальной производительности реализовать?
     
  2. dandandan

    dandandan

    Регистр.:
    7 авг 2008
    Сообщения:
    990
    Симпатии:
    267
    Я делаю так. Когда пользователь ввел логин/пароль правильно - обновляю страницу. Сессия у меня работает до закрытия браузера.
    Новая сессия - новый инсерт в бд.
     
  3. eugenel

    eugenel Постоялец

    Регистр.:
    3 авг 2008
    Сообщения:
    122
    Симпатии:
    14
    А если у меня поддерживает сохранение авторизации? т.е. пользователь один раз ввел даннеы для входа и все? То как тогда?
     
  4. dandandan

    dandandan

    Регистр.:
    7 авг 2008
    Сообщения:
    990
    Симпатии:
    267
    Можно например записывать в куки последнее посещение (помимо инсерта в БД) и, например, каждые 30 минут инсертить в бд время последнего нахождения на сайте.
     
  5. dralex

    dralex Постоялец

    Регистр.:
    13 июн 2008
    Сообщения:
    77
    Симпатии:
    18
    в базе с пользователями иметь столбец к примеру - last_visit

    после каждой успешной проверки логина с паролем делать запрос
    PHP:
    $time date('G:i:s');
    $date date('d.m.y');
    $last_visit "{$date}|{$time}";
    update users set last_visit $last_visit where login $login
    вывод на екран:
    PHP:
    $last_visit explode("|",row['last_visit']);
    echo 
    "последний раз вы были здесь {$last_visit[0]} в {$last_visit[1]}";
     
Статус темы:
Закрыта.