»  Pagina principala  »  PHP si mysql »  Numara vizitele ( Hit Counter )

Numara vizitele ( Hit Counter )

Un Hit Counter va ofera posibilitatea de a stii cate vizite aveti pe o anumita pagina a site-ului. Pentru a face acest lucru trebuie sa avem pe pagina respectiva un cod care sa se execute odata cu incarcarea paginii. Acest cod trebuie sa adauge 1 intr-o variabila pe care putem sa o stocam in tabela unei baze de date sau chiar intr-un fisier .txt .

Hit counter (cu stocare in baza de date)

Pentru acest script aveti nevoie de suport PHP si Mysql. Avem de urmat mai multi pasi:
- crearea unei tabele noi in baza de date (daca nu doriti sa adaugati intr-un camp ditr-o tabela deja existenta  in baza de date)
- resetarea campului din tabela (scrierea valorii "0" in acest camp)
- scrierea scriptului care va adauga 1 in acest camp de fiecare data cand cineva viziteaza pagina pe care dorim sa o urmarim (incrementare)

1. Pentru crearea tablei in baza de date trebuie sa deschideti urmatorul fisier:
creare_tabela.php

<?php
//treceti datele voastre de conectare la bdd
$hostname="localhost";
$username="root";
$password="";
$db="bazadedate";

//ne conectam la baza de date sau afisam o eroare
$conex=mysql_connect($hostname,$username,$password)
or die ("Nu ma pot conecta la baza de date");
mysql_select_db($db , $conex) or die("Eroare : ".mysql_error());
//adaugam in bdd tabela vizitatori cu campul count
//count este INT(8) - va lua valori pana la 99.999.999
mysql_query("CREATE TABLE vizitatori( count INT(8))")or die("Eroare: ".mysql_error());
//inchidem conexiunea
mysql_close($conex);
?>
Daca doriti sa folositi tabela existenta in baza de date trebuie doar sa adaugati un nou camp la acea tabela (count)

2. Acum trebuie sa adaugam valoarea 0 in capul count al acestei tabele. Pentru asta deschidem fisierul
reset.php

<?php
$hostname="localhost";
$username="root";
$password="";
$db="bazadedate";

$conex=mysql_connect($hostname,$username,$password)
or die ("Nu ma pot conecta la baza de date");

mysql_select_db($db , $conex) or die("Eroare: ".mysql_error());
//Adauga valoarea 0 in campul count din tabela vizitatori
mysql_query("INSERT INTO vizitatori (count) VALUES ('0')");
mysql_close($conex);
?>

3. Adaugam in pagina (trebuie sa aiba extensia .php) pe care dorim sa o monitorizam urmatorul cod:
<?php
$hostname="localhost";
$username="root";
$password="";
$db="bazadedate";
$conex=mysql_connect($hostname,$username,$password)
or die ("Nu ma pot conecta la baza de date");
mysql_select_db($db , $conex) or die("Eroare: ".mysql_error());
//adaugam 1 valorii din campul count la fiecare vizita
mysql_query("UPDATE vizitatori SET count=count+1");
//interogam tabela si afisam rezutatul intr-un tabel
//cu o singura celula
$counter = mysql_query("SELECT * FROM vizitatori");
print "<table border=1 cellpadding=3 cellspacing=0 width=80>";
for($i=0;$i<mysql_num_rows($counter);$i=$i+1) {
print "<tr>";
$field=mysql_result($counter,$i,count);
print "<td align=right><font face=arial size=2>$field</font></td>";
print "</tr>";
print "</table>";
}
//inchide conexiunea la server
mysql_close($conex);
?>
Puteti sa adaugati acest cod in codul sursa al paginii pe care vreti sa vedeti numarul de vizitatori sau sa-l salvati cu extensia .php si apoi sa includeti acel fisier in pagina pe care o monitorizati astfel:
<?php  include('nume-fisier.php'); ?>


Hit counter (cu stocare in fisier extern TXT)
      Daca nu aveti mysql pe server sau nu doriti sa folositi baza de date puteti sa faceti un numarator simplu folosind un fisier extern TXT - vizitatori.txt .
     
Pentru ca urmatorul script sa functioneze trebuie sa aveti setata permisiunea 777 pentru acest fisier txt.
      Iata codul php pentru acest tip de counter:
counter.php

<?php
$fisierul = ("vizitatori.txt");
//citeste fisierul si trece intr-un array
$vizite = file($fisierul);
//incrementeaza primul element din array
$vizite[0] ++;
//deschide pentru scriere fisierul
$deschide = fopen($fisierul , "w");
//adauga variabila incrementata
fputs($deschide , "$vizite[0]");
//inchide fisierul
fclose($deschide);
//afiseaza numarul de vizite
echo $vizite[0];
?>

Acum nu mai trebuie decat sa includem acest fisier php in pagina pe care dorim sa numaram vizitele:
<?php
include ('counter.php');
?>





Articole asemanatoare
» Upload de fisiere cu PHP

Comentarii



   andra

si ce trebuie sa scriem in fisierul text vizitatori?
12-Mar-2010 - 14:18


   Cristian

nu trebuie pus nimic in fisierul txt. trebuie sa fie gol. Important este sa aveti permisiune de scriere pentru acel fisier. Se poate face din Cpanel-ul hostingului sau din filezilla (dreapta click, attribute)
14-Mar-2010 - 13:47


   trif

salut, am luat acest script dar prob este ca imi salveaza doar pentru o singura pagina nu pentru fiecare in parte adica fiecare sa aibe contorul ei. cu stima trif
20-Dec-2010 - 21:42


   cristian

@trif, depinde ce site ai: cate pagini are, daca are baza de date, cum sunt link-urile si asa mai departe..... Ambele variante pot fi adaptate pentru pagini diferite foarte usor. La varianta cu mysql:
UPDATE vizitatori SET count=count+1 WHERE identificator_pagina=xyzbasbdja .......
Da mai multe detalii daca doresti sa primesti un raspuns mai exact...
23-Dec-2010 - 22:52



Voteaza acest articol!
 



Trimite un comentariu!

Nume *
E-mail *
Comentariu *
  Vreau sa fiu anuntat de urmatoarele mesaje la acest articol

Security image

Cristian Bozeanu

Free Mini Games

Cloud tag

tutorial, photoshop, html, css, javascript, flash, php, mysql, grafica 3D, tutorial, coduri, scripturi, generator de coduri, cursuri php