За последние 24 часа нас посетили 18914 программистов и 1633 робота. Сейчас ищут 1004 программиста ...

Вывод списка юзеров онлайн

Тема в разделе "PHP для новичков", создана пользователем cloozis, 3 апр 2009.

  1. cloozis

    cloozis Активный пользователь

    С нами с:
    8 окт 2008
    Сообщения:
    75
    Симпатии:
    0
    Адрес:
    Russia
    Подскажите как это реализовывается.
     
  2. muheroes

    muheroes Активный пользователь

    С нами с:
    24 сен 2008
    Сообщения:
    33
    Симпатии:
    0
    если залогинились, суем в базу 1 если вышли суем в базу 0, если оборвалась связь, суем в базу 0.
    потом
    PHP:
    1. <? $kol=mysql_num_rows($tablica); for ($i=0; $i<$kol; ++$i) {$array=$mysql_fetch_array($tablica); echo $array['user'];}
    Кароче чтото типо этого...
     
  3. kas1e

    kas1e Активный пользователь

    С нами с:
    6 апр 2009
    Сообщения:
    280
    Симпатии:
    0
    Для вывода зарегестрированных.
    В шапке суем, если аутентификация юзера = 1, добавляем ему в поле "online" time()+300.
    При выводе списка выбираем: "SELECT login FROM users WHERE `online` > `".time()."`";
    Выведет всех, кто проявлял в зарегестрированном состоянии активность в течении 5 минут.
    Так же с этим подходом можно вывести, во сколько последний раз юзер был на сайте.

    Для вывода ВСЕХ юзеров, в том числе гостей, юзаем переделанную популярную функцию:



    PHP:
    1. function online(){
    2.     session_save_path("/tmp");
    3.     if($directory_handle = opendir(session_save_path())){
    4.         $count = 0;
    5.         while(false !== ($file = readdir($directory_handle))){
    6.             if($file != '.' && $file != '..'){
    7.                 if(time() - fileatime(session_save_path()."/".$file) < 180)$count++;
    8.             }
    9.         }
    10.         closedir($directory_handle);
    11.         return $count;
    12.     }else{
    13.         return false;
    14.     }
    15. }
    echo online(); - выведет все сессии за последнии 3 минуты. Совместив два предыдущих способа получаем список зарегенных и гостей.
     
  4. Potaevsky

    Potaevsky Активный пользователь

    С нами с:
    6 апр 2009
    Сообщения:
    3
    Симпатии:
    0
    Адрес:
    Минск
    лучше тоже самое, но в мемкеше - будет быстрее чем базу мучать каждый раз