Функция Юзер на сайте

Тема в разделе "PHP", создана пользователем dez2007, 4 ноя 2008.

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

    dez2007 Создатель

    Регистр.:
    27 апр 2008
    Сообщения:
    31
    Симпатии:
    1
    Как реализовать функцию типа Юзер находится на сайте. Что бы у пользователя была снизу надпись "на сайте" или "оффлайн", как в контакте. Расскажите кто-нибудь пожалуйста алгоритм и как это реализовать на php?
     
  2. shad0w

    shad0w Постоялец

    Регистр.:
    8 июн 2006
    Сообщения:
    95
    Симпатии:
    13
    все зависит от того, насколько посещаем твой сайт. Если посещаемость небольшая, то можно, при каждом обращении к странице, писать в БД такую информацию:

    | IP | Последнее обращение |

    а сам счетчик, должен будет считать все IP, "Последние обращение" которых меньше 5 минут.

    Тем самым ты считаешь всех тех, кто обращался хоть к одной странице твоего скрипта за последние 5 минут.
     
  3. Kreout

    Kreout Постоялец

    Регистр.:
    24 июл 2008
    Сообщения:
    121
    Симпатии:
    48
    Обына данную функцию применяют для зарегистрированных профлей, а их ip записаны в базе даннфх для каждого профайла. Вот и записывать их последнее обращение также. Если не Позже 5 минут то выводить что юзер онлайн. Но я бы сделал не 5 а 15 минут, покрайней мере в форумах по умолчанию так.
     
  4. dez2007

    dez2007 Создатель

    Регистр.:
    27 апр 2008
    Сообщения:
    31
    Симпатии:
    1
    А если у них не постоянный ip?
     
  5. Hemi-Sync

    Hemi-Sync Постоялец

    Регистр.:
    17 дек 2006
    Сообщения:
    88
    Симпатии:
    38
    Причем тут айпи вообще. Каждый юзер после залогинивания прослеживается через сессию. Вот по сессии и нужно прослеживать кто проявляет активность и обновлять время последнего доступа у данного юзера в таблице юзверей.
     
  6. gregzem

    gregzem

    Регистр.:
    21 окт 2007
    Сообщения:
    200
    Симпатии:
    63
    "Гостей" тоже можно сессиями считать. В temp таблицу вносить разные сессии и чистить таблицу раз в N минут от expired сессий либо по крону (предпочтительнее), либо самим скриптом при генерации страницы посетителю.
     
  7. myweb

    myweb Среда обитания WEB

    Регистр.:
    10 сен 2007
    Сообщения:
    539
    Симпатии:
    246
  8. dez2007

    dez2007 Создатель

    Регистр.:
    27 апр 2008
    Сообщения:
    31
    Симпатии:
    1
    это скрипт подсчитывает общее количество пользователей а мне надо как за каждого
     
  9. Ceyce

    Ceyce Постоялец

    Регистр.:
    3 ноя 2008
    Сообщения:
    52
    Симпатии:
    51
    Думаю если Вы поймете как тот скрипт работает, то сможете сделать скрипт 'как за каждого'.
    Вот хороший пример похожего скрипта:
    http://softtime.ru/scripts/online.php

    Если пользователь находится в таблице 'онлайн' - он онлайн, если не находится - не онлайн.

    А если не будем соблюдать правило "внешние ссылки под хайд", отправлю в таблицу неонлайн на некоторое время
     
Статус темы:
Закрыта.