StyleGame

Online Tutorials

Va rog sa faceti cunoscut forumu. Cum puteti ajuta? De preferat la status pe yahoo messenger massuri etc. Va urez bafta in a ne ajuta cu respect echipa stylegame

    Script vizitatori unici

    Distribuiţi
    avatar
    CYobY
    Administrator
    Administrator

    Mesaje : 197
    Data de inscriere : 04/10/2009
    Varsta : 24
    Localizare : VASLUI

    Script vizitatori unici

    Mesaj Scris de CYobY la data de Dum Mai 16, 2010 6:42 pm

    In acest tutorial va voi invata cum sa faceti un script care va numara cati vizitatori unici aveti pe zi (unique daily visitors counter). E util pentru cei care nu vor bannere cu trafic/wta/gtop. Il puteti folosi pe orice site, foarte usor, incluzand fisierul counter.php, pe care-l voi crea acum cu voi.

    Intai cream o baza de date MySQL.
    Cod:
        CREATE DATABASE `scripts` ;
    Apoi cream un tabel si coloanele necesare.
    Cod:
     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.
    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.
    Cod:
    <?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
    }

    ?>
    Gata! Acum puteti stii cu acuratete cati vizitatori unici aveti pe zi! Enjoy Wink


    _________________
    RESPECT

      Acum este: Mar Oct 16, 2018 3:48 pm