Autor Zpráva
kumar listr
Profil *
Mám takovejhle script na zjišťování on-line uživalů:
<?php
$fcrr='readers.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
$mess1='čte';
$mess2='lidí';
if ($celkem<5) 
  if ($celkem>1)
  {
    $mess1='čtou'; 
    $mess2='lidé';
  }
  else
    $mess2='člověk'; // vyskloňovat podle počtu uživatelů
echo "přítomno: $mess1 $celkem $mess2/40."; // vypsat počet uživatelů se správným skloňováním
?>

A ještě k tomu mám soubor readers.txt do ktrýho se to zapisuje.


A já bych potřeboval aby se na stránce sám obnovoval(jako že nemusím refreshovat stránku aby se mi to změnilo) slyšel sem že to jde v ajaxu, ale nemám ani tucha jak na to jít. Kdybyste někdo věděl byl bych vděčen. Dík moc
Taps
Profil
kumar listr
zkus se podívat na http://programujte.com/?akce=clanek&cl=2008122401-ajax-v-praxi-online-uzivatele třeba tě to inspiruje
kumar listr
Profil *
Tak o tomhle sem zrovna věděl a možná kdybych byl programátor tak bych to možná i pochpil ale bohužel nic takovího nejsem.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: