определение on-line пользователя

Тема в разделе "PHP", создана пользователем protiy, 3 мар 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. protiy

    protiy Писатель

    Регистр.:
    8 фев 2009
    Сообщения:
    6
    Симпатии:
    0
    Как определить какое количество пользователе в данный момент на сайте с помощью php?
     
  2. ajrengen

    ajrengen Постоялец

    Регистр.:
    28 сен 2008
    Сообщения:
    110
    Симпатии:
    29
    каждому пользователю присваиваете сессию, сессия имеет начальное время допустим 18:35:48 длится она пять минут (обычно 15) по истечении пяти минут (пятнадцати) сессия сбрасывается либо обновляется если пользователь перешёл ещё на одну страницу.
    учитываются все пользователи которые просмотрели хотя бы одну страницу за последние пять (пятнадцать) минут
     
  3. eugenel

    eugenel Постоялец

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

    forwin Писатель

    Регистр.:
    19 ноя 2008
    Сообщения:
    2
    Симпатии:
    0
    Не согласен с куки. Ну ушел пользователь в офлайн. А сервер как об этом узнает?

    С сесиями начинающему тоже трудно может быть (подсчет активных сесий), хотя это лучший вариант.

    Попроще- писать в файлв ремя и ip. Делать выборку за последние минут 10 (или сколько нужно). Файл обнулять автоматом раз в сутки. Или чаще при большом количестве хостов.

    Это все для самописного движка. Если используете CMS- ищите в инете. За вас уже давно все написали. Осталось найти. По крайней мере пример будет.
     
  5. goldphix

    goldphix Прохожие

    я предпочитаю для этого использовать сессии.
     
  6. silent9

    silent9 Постоялец

    Регистр.:
    7 июн 2008
    Сообщения:
    136
    Симпатии:
    10
    проще всего записывать в базу IP и время, и при следующем заходе этого IP обновлять время, одновременно проверять скриптом если с этого IP не было заходов в течение 1-2-3-60 минут удалять запись из базы
     
  7. t0os

    t0os

    Регистр.:
    21 окт 2007
    Сообщения:
    284
    Симпатии:
    36
    Самый нормальный способ, как уже разжевал ajrengen - использовать сессии. Просто и понятно.
     
  8. PapaJoe

    PapaJoe

    Регистр.:
    4 авг 2008
    Сообщения:
    620
    Симпатии:
    311
    cookies+БД
    При обновлении страницы записываем в БД данные куков и время в секундах. А при отображении on-line пользователей выбираем из базы данных юзеров, где время в БД для данного пользователя не менее настоящего на 5-10минут.
     
  9. t0os

    t0os

    Регистр.:
    21 окт 2007
    Сообщения:
    284
    Симпатии:
    36
    MONtrade, а если куки отключены? :)
     
  10. pavloff

    pavloff

    Регистр.:
    5 авг 2007
    Сообщения:
    265
    Симпатии:
    39
    Самый простой способ, юзай CNStat
     
Статус темы:
Закрыта.