Počet on-line uživatelů
10 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Hledal jsem, tak mě nezabijte, ale nikde sem to vyřešený neviděl - kolik uživatelů (i nepřihlášených) je on-line? Díky
-
tak to si hledal nějak divně. jestli chceš poradit, tak někam zaznamenávej jejich poslední kliknutí a po určitym čase ho vymaž.
-
Tohle mě taky napadlo, ale na WZ nefungujou fce pracující s časem ne?
-
>> ale na WZ nefungujou fce pracující s časem ne? To jsi zjistil kde?
-
Casove funkce jsou normalne dostupne a bezproblemu funguji. Pokud ti to nejak blbne, tak mas asi neco spatne.
-
Zbynek: http://mt.wz.cz/info.php ..omg.. http://mirrors.inway.cz/manual/cs/
-
Naprosto vystačující free script, který plní funkci a dá se na něm dobře stavět i dál... http://www.cj-design.com/products/free_downloads/php_scripts/cjusersonline
-
$fcrr='online.txt';// jméno souboru, do kterého ukládat IP adresy návštěvníků $IPadresa=$_SERVER['REMOTE_ADDR'];// sem "naskládame" vše, co lze o čtenáři zjistit odděleno zavináčem (adresy uživatelů za proxy ap.) if ($_SERVER['REMOTE_HOST']) $IPadresa.='@'.$_SERVER['REMOTE_HOST']; if ($_SERVER['HTTP_X_FORWARDED_FOR']) $IPadresa.='@'.$_SERVER['HTTP_X_FORWARDED_FOR']; if ($_SERVER['HTTP_FORWARDED']) $IPadresa.='@'.$_SERVER['HTTP_FORWARDED']; if ($_SERVER['HTTP_CLIENT_IP']) $IPadresa.='@'.$_SERVER['HTTP_CLIENT_IP']; if ($_SERVER['X_HTTP_FORWARDED_FOR']) $IPadresa.='@'.$_SERVER['X_HTTP_FORWARDED_FOR']; if ($_SERVER['X_FORWARDED_FOR']) $IPadresa.='@'.$_SERVER['X_FORWARDED_FOR']; $aktual=time(); $pole=file($fcrr);// přiřadit jméno souboru k poli for($i=0; $i<Count($pole); $i++)// procházet pole { $adresa=StrTok($pole[$i],':');// rozdělit na adresu a čas záznamy oddělené dvojtečkou $cas=StrTok(':'); if ($adresa==$IPadresa)// pokud se adresa rovná některému záznamu, vyřadit jej (vymazat) z pole $pole[$i]=''; if ($cas<($aktual-360))// pokud vypršel timeout 6 minut, vyřadit záznam (vyřadí se neaktivní uživatelé) $pole[$i]=''; } $Fp=FOpen($fcrr,'w');// otevřít soubor pro zápis $celkem=0;// vyčistit proměnnou for($i=0; $i<Count($pole); $i++) { if ($pole[$i]!='')// je-li co zapsat po předchozím "vyčištění" pole { FPutS($Fp,$pole[$i]);// pak zapsat prvek pole do souboru $celkem++;// zvýšit počítadlo uživatelů } } FPutS($Fp,$IPadresa.':'.$aktual."\n");// připsat adresu aktuálního uživatele a jeho čas $celkem++;// zvýšit počítadlo o 1 (o aktuálního uživatele) FClose($Fp);// zavřít soubor // v $celkem je nyní počet uživatelů online if ($celkem==1): echo "Jste na stránkách sami.";// vypsat hlášení, pokud je čitatel pouze jeden else: if ($celkem<5)// pokud je čitatelů méně než pět { $mess1='čtou'; $mess2='lidé'; } else// pokud je čitatelů pět a více { $mess1='čte'; $mess2='lidí'; } echo "Stránky si právě $mess1 $celkem $mess2.";// vypsat počet uživatelů se správným skloňováním endif;
-
Když má člověk prostor pro SQL, tak toto je naprostej nesmysl. Hrozně dlouhej a zbytečnej code. Code CJ_Usersonline má asi pět řádek... (nejsem autorem, jen pro info, kdyby si někdo myslel, že si tu hřeju polívčičku)
-
Já si nemyslím, že si hřeješ polívčičku, já si myslím, že tvůj komentář je zhola zbytečný. Všechno co v něm zmiňuješ je přece vidět.