Tutorial creare script propriu pentru vizitatori unici ( unique daily visitors counter ) In acest tutorial va voi invata cum sa va faceti un script propriu pentru site / forum /blog – care va numara cati vizitatori unici aveti pe zi (unique daily visitors counter). Este util pentru cei care nu vor bannere cu trafic/wta/gtop. Il puteti folosi pe orice site, foarte usor, incluzand fisierul counter.php
Intai cream o baza de date MySQL.
CREATE DATABASE `scripts` ;
Apoi cream un tabel si coloanele necesare.
CREATE TABLE `scripts`.`visitors` ( `ip` VARCHAR( 40 ) NOT NULL , `date` VARCHAR( 8 ) NOT NULL , `time` INT( 15 ) NOT NULL DEFAULT '0' , PRIMARY KEY ( `time` ) ) ENGINE = MYISAM
Acum vom crea fisierul counter.php.
N-are rost sa iau codul pe bucati. Voi folosi comentarii in dreptul liniilor, astfel incat veti intelege mai bine.
<?php $db_host = 'localhost'; //host-ul serverului MySQL $db_name = 'scripts'; //numele bazei de date $db_user = 'root'; //user-ul bazei de date $db_pass = ''; //parola bazei de date $t = time(); //functie care creaza un numar, corespunzand timpului actual $d = date("j/m/y"); //functie care creaza data zilei de azi $sec = 86400; //timpul (in secunde) in care un ip va aparea ca utilizator online, dupa accesarea paginii $timeout = $t - $sec; //un timeout, dupa care sunt sterse ip-urile din baza de date $ip = $_SERVER['REMOTE_ADDR']; //variabila in care se stocheaza un ip $db_con = @mysql_connect($db_host, $db_user, $db_pass) or die ('Eroare conexiune.'); //conexiunea la baza de date @mysql_select_db($db_name) or die ('Nu s-a selectat baza de date.'); //selectarea bazei de date $q1 = "INSERT INTO visitors (ip, date, time) VALUES ('$ip', '$d', '$t')"; //query-ul de introducere a timpului, ip-ului si paginii actuale in baza de date @mysql_query($q1) or die ('Eroare introducere date.'); //parcurgerea query-ului $q2 = "DELETE FROM visitors WHERE time < '$timeout'"; //query-ul de stergere a intrarilor din baza de date, dupa trecerea secundelor @mysql_query($q2) or die ('Eroare stergere date.'); //parcurgerea query-ului $q3 = "SELECT DISTINCT ip FROM visitors"; //query-ul de selectare a ip-urilor distincte din baza de date pe pagina actuala $result = @mysql_query($q3) or die ('Eroare selectare date.'); //parcurgerea query-ului $users = @mysql_num_rows($result); //numarul de linii, dupa parcurgerea query-ului @mysql_close($db_con); //inchiderea conexiunii la baza de date if($users == 1) { //cand cineva acceseaza pagina, variabila devine 1 si se pune conditia unui vizitator echo "Azi siteul a avut 1 vizitator unic."; //va afisa un vizitator in ultimele 24 de ore } else { //altfel echo "Azi siteul a avut ".$users." de vizitatori unici."; //va afisa cati vizitatori unici au accesat pagina } ?>