× Aktuálně z oboru

Programátoři po celém světě dnes slaví Den programátorů [ clanek/2018091300-programatori-po-celem-svete-dnes-slavi-den-programatoru/ ]
Celá zprávička [ clanek/2018091300-programatori-po-celem-svete-dnes-slavi-den-programatoru/ ]

Počítadlo on-line čtenářů vaší stránky

[ http://programujte.com/profil/5-tomas-vinduska/ ]Google [ ?rel=author ]       zatím neprovedena       6. 6. 2005       18 180×

Tak a už tady máme první seriál. Jak nadpis napovidá, budeme programovat počítadlo on-line čtenářů Vašich stránek a to v provedení dvěma způsoby.

Náš první způsob bude za použití MySQL databáze

Nejprve tedy budeme potřebovat nějakou SQL tabulku, do které budeme zapisovat při příchodu čtenáře jeho IP adresu.

Potom si také budeme muset zapsat čas příchodu. Tabulka tedy vypadá takto.

CREATE TABLE `online` (
`id` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
`kdo` VARCHAR( 20 ) ,
`cas` DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL ,
PRIMARY KEY ( `id` ) 
);

Otázka je, jakým způsobem naše počítadlo bude pracovat. Je to jednoduché - při příchodu čtenáře si zapíšeme čas příchodu na naše

stránky i jeho IP adresu a zároveň zjistíme kolik je již zapsaných čtenářů v tabulce a také rovnou odstraníme již neaktivní čtenáře.

Vytvoříme si soubor třeba online.php a vložíme do něj následující kód.

Tady je tedy náš kód:


Náš druhý způsob bude bez pomoci MySql databáze

Princip našeho on-line počítadla bude stejný, jen data si budeme ukládat do souboru. Také chci upozornit, že soubor, do kterého budeme data zapisovat,

musí mít nastaveny atributy (chmod) na 777.

Vytvoříme si soubor online.php a také datový soubor online.dat (pozor na atributy).

Do souboru online.php vložíme následující kód.

Tady je náš kód:

$tolerance):
$obsah.= $pole[0];
$obsah.= ",";
endif;
$i++;
endfor;
$obsah= substr($obsah,0,strlen($obsah)-1);
$pom_pole=explode(",",$obsah);
$online = count(array_flip(array_flip($pom_pole)));
// Vypíše počet online uživatelů
echo $online;
// Mazání prošlých záznamů
$delete="";
for ($pom=0;$pom$tolerance):
$delete.="$del_data[0]^$del_data[1]";
endif;
endfor;
if (!$nazevsouboru):
$nazevsouboru="pocitadlo/online.dat";
endif;
$kdo=$_SERVER["REMOTE_ADDR"];// ip adresa

$pristup=date("Y-m-d H:i:s"); // aktualni cas
$string="$delete";
$fa=fopen("$nazevsouboru","w+");
fputs($fa,$string);
fclose($fa);
?>


Článek stažen z webu Programujte.com [ http://programujte.com/clanek/2005060601-pocitadlo-on-line-ctenaru-vasi-stranky/ ].