Zpět na seznam článků     Číst komentáře (23)     Verze pro tisk

Pocitadlo navstev webu v PHP

Autor: $THE_DARK_AVENGER   
6.8.2008

V tomhle clanku si vytvorime celkem jednoduche pocitadlo navstev pro web (WebCounter).


V tomhle clanku si vytvorime celkem jednoduche pocitadlo navstev pro web (WebCounter).

Nejdriv ze vseho, pripravime databazi - presneji receno, vytvorime potrebnou tabulku.
Nazev tabulky bude "counter" a bude mit dva sloupce: "id" - cislo zaznamu, ktere se bude pridavat a zvetsovat automaticky pri kazdem zaznamu do tabulky a "address" - IP adresa navstevnika.
K tomu pouzijeme nasledujici SQL kod (snad vite, kam se to zadava ;) ) :


CREATE TABLE counter (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, address VARCHAR(15))



Ted prejdeme k nasemu skriptu. Obecne, skript bude fungovat takhle: overujeme zda IP adresa zatim neni v databazi (coz je pripad noveho navstevnika), nebo IP adresu uz mame (coz znamena, ze navstevnik uz tady byl). V Prvnim pripade pridame do databazi zaznam a vypiseme nejvyssi "id", v druhem pripade jen vypiseme to "id". V PHP // jsou komentare.


$remote_ip = $_SERVER['REMOTE_ADDR']; //zjistujeme IP
//hledame ho v databazi:
$sql_query = "SELECT * FROM counter WHERE address='$remote_ip'";
$sql_res = mysql_query($sql_query);
// kdyz je tady poprve - neni zaznam:
if (!mysql_fetch_array($sql_res)){
//pridame ho do DB
$sql_query="INSERT INTO counter (address) VALUES ('$remote_ip')";
mysql_query($sql_query);
//ziskame nejvyssi id
$id = mysql_fetch_array(mysql_query("SELECT MAX(id) FROM counter"));
//a vypiseme ho:
echo "Vy jste navstevnik #".$id['MAX(id)'];
} else { //kdyz se vraci (coz zaradime do ostatnich pripadu)...
//ziskame nejvyssi id:
$count = mysql_fetch_array(mysql_query("SELECT MAX(id) FROM counter"));
echo "Vy jste navstevnik #".$count['MAX(id)']; //a vypiseme ho
}


Nezapomente napojit se na DB server (mysql_connect('server','user','pass')), a vybrat databazi (mysql_select_db('DB_name')).

Samozrejme, ten jednoduchy kod se da rozsirit - treba pridat moznost zjisteni casu navstevy, pocet shlednuti a.t.d.

P.S. Za hroznou gramatiku se omlouvam... Proste se kouknete na "Zdroj", a pochopite to :D

Líbil se Vám článek?
Budeme potěšeni, pokud vás zaujme také reklamní nabídka

Social Bookmarking

     





Hodnocení/Hlasovalo: 2.5/2

1  2  3  4  5    
(známkování jako ve škole)