Numara vizitele ( Hit Counter )
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); ?> |
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); ?> |
<?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?
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)
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
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...
@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!