Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    4

    contatore visite e variabili

    Salve sto cercando di creare un contatore visite,su un sito già realizzato.

    Sono un neofita di php,per cui vi chiedo, come realizzo un contatore visite per ogni variabile ID?

    Mi spiego meglio,nel sito sul quale dovrei realizzare il contatore sono presenti varie pagine php e ad ognuna di esse corrisponde un ID differente es. "index.php?ID=179" io dovrei visualizzare un contatore in ogni singola pagina/ID che mi indichi le visite a quella determinata pagina quindi a quel determinato ID ,come faccio a dire al contatore che metterò nella "index.php" di aggiornare solo il contatore di un determinato ID?

    Grazie mille anticipatamente.

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    4
    è troppo difficile da fare?

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Dico la mia.

    Penso tu abbia necessariamente bisogno di un database, altrimenti non avresti memoria dei visitatori.
    Dovresti fare una tabella più o meno con questi campi (la più semplice possibile, poi vedi tu secondo le tue esigenze):
    - id (l'id della pagina)
    - visite (tiene il conto delle visite su quell'id)

    poi su ogni pagina metti due query, una aggiunge 1 al campo visite relativo all'id della pagina, un'altra legge il dato aggioranto e lo stampa a video.

  4. #4
    Ti ho scritto questo codice che dovrebbe fare al caso tuo:il primo script lo devi inserire all'inizio di ogni pagina, infatto, tramite gli ip, controlla se un utente è già stato contato, altrimenti lo aggiunge alla lista dei visitatori, il secondo si ocupa di visualizzare tutti i conteggi delle visite uniche di ogni pagina.
    Il tutto si basa su file txt, quindi non ti devi preoccupare di database.
    Non ho controllato il codice, ma dovrebbe andare, ricorda di modificarlo dove ho scritto "EDITA"



    1)Codice da inserire in ogni pagina, in cui la variabile $id deve essere uguale all'id della pagina:
    Codice PHP:
    <?php
    $id
    ="ididellapagina";//id della pagina EDITA
    $path="pagina$id.txt";//path del file contenente gli ip dei visitatori, che presuppone il file si chiami pagina(iddellapagina).txt, e sia situato a livello dello script

    $open=fopen($path,"r");//Apro il file
    $read=fread($open,filesize($path));//leggo il contenuto
    fclose($open);

    $ips=explode(',',$read);//estraggo gli ip separarti da virgola

    $trovato=false;

    for(
    $i=0;$i<count($ips);$i++)//esguo un controllo per ogni ip
    if($ips[$i]==$_SERVER['REMOTE_ADDR'])//Se l'ip del visitatore è uguale al ip controllato
    $trovato=true;//setto la variabile a true, altrimenti rimane false

    if(!$trovato)//Se l'ip non è mai stato individuato nella lista, lo aggiungo al contenuto del file
    $read.=",".$_SERVER['REMOTE_ADDR'];

    $open=fopen($path,'w');//Apro il file, stavolta in modalità scrittura
    fwrite($open,$read);//Scrivo il niovo contenuto
    fclose($open);
    ?>
    2)Codice da inserire nella homepage, da cui vengono visualizzate le visite uniche di tutte le pagine (ricora di editare gli array):
    Codice PHP:
    <?php
    $ids
    =array('gli id di tutte le pagine da controllare');//EDITA
    $names=array('i titoli delle pagine da controllare, nello stesso oridine degli id');//EDITA
    for($i=0;$i<count($ids);$i++)//Per ogni id...
    {
    $path="pagina".$ids[$i].".txt";//path del file contenente gli ip dei visitatori, che presuppone il file si chiami pagina(iddellapagina).txt, e sia situato a livello dello script

    $open=fopen($path,"r");//Apro il file
    $read=fread($open,filesize($path));//leggo il contenuto
    fclose($open);

    $visits=count(explode(',',$read));//conto gli ip separarti da virgola nel file

    echo 'Visite uniche della pagina '.$names[$i].': '.$visits.'
    '
    ;//Scrivo il titolo della pagina corrispondente all'id e il numero di visite uniche
    }
    ?>

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    4
    Grazie infinite,credo che questo codice faccia al caso mio.
    L'unica cosa che volevo precisare,è sapere se può "acquisire" la variabile ID tramite script senza la necessità di dover inserire lo script in ogni pagina perchè potenzialmente potrebbero essere n pagine quindi diventerebbe piuttosto complicato metterlo in atto.
    Grazie ancora

    N.B.Mi sono appena accorto che non ci sono singole pagine,ma è la pagina index.php che in base all'id chiamato tramite(es: www.sito.prova/index.php?ID=111) completa la pagina con le info richieste con il codice che scrivo sotto,prendendole dal database e stampandole a video

    <?
    //includo il file per la connessione al DB
    include 'db.php';

    $ID = $_GET['ID'];

    //prendo le info dal database
    $result = mysql_query("SELECT utente.nome_a, "..etc...")
    $row = mysql_fetch_array($result);
    echo'

    <div><font class="ws14">'.$row[nome_a].'</font></div>

    quindi ho a disposizione solo la pagina index.php,come posso fare?
    Grazie

  6. #6
    Lo script funziona ugualmente:
    E' sufficiente metterlo nella index, e modificare la riga
    Codice PHP:
    $id="idedellapagina"
    in
    Codice PHP:
    $id=$_GET['id']; 

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    4
    Grazie mille per l'aiuto,domani lo provo e farò sapere.
    Ne approfitto per augurare a tutti un felice natale.

  8. #8
    Ciao! Io mi son creato questo (spartano..) contatore visite:
    Clicca qui!

    svolge tutte le funzioni che interessano a me salvandomi su db il percorso che un visitatore effettua all'interno del sito. Importante la provenienza cosi da vedere se arriva da google o altri siti dove son registrato..
    Includo in ogni pagina questo script:
    <?

    $langbrowserprov = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
    $data =date("d/m/Y ");

    $giorno = substr("$data",-11,2);
    $mese = substr("$data",-8,2);
    $anno = substr("$data",-5,4);
    $ora =(date("G:i"));
    $ip = $_SERVER['REMOTE_ADDR'];
    $idsessione = $_SESSION['idSessione'];
    $pagina = $_SERVER["PHP_SELF"];;
    $browser = $_SERVER['HTTP_USER_AGENT'];
    $langbrowser = substr($langbrowserprov, 0, 2);
    $provenienza = $_SERVER['HTTP_REFERER'];
    $progressione = mktime();

    include("privata/db.php");
    $query = "insert into stat (giorno, mese, anno, data, ora, ip, idsessione, pagina, langbrowser, browser, provenienza, progressione) values ('$giorno', '$mese', '$anno', '$data', '$ora', '$ip', '$idsessione', '$pagina', '$langbrowser', '$browser', '$provenienza', '$progressione')";
    $result = mysql_query ($query, $connection) or die("Errore nella query: " . mysql_error());

    ?>

    Vacanze in Sardegna?? http://www.albergoviadelmare.it

  9. #9
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Secondo me meglio di google analythics non puoi aggiungere.

    Ti fa tutti i controlli del caso. Se il link e' aperto da motore di ricerca , se e' visitato da web spider se l'utente rientra nella pagina, il tempo medio di permanenza nella pagina, l'area geograficamente localizzata del'ip da cui accede e molto altro.

    Inserendo un piccolo script nelle pagine potrai tracciare tutto.
    Inoltre puoi ricevere le statistiche settimanalmente e decidere come e dove inviare in formato pdf i risultati, quindi anche ai clienti.

    Inoltre ti consente di verificare costantemente la tua visibilita' e dagli strumenti di amministrazione di google(quelli per webmaster) potrai anche gestire sitemap e altro per una migliore indicizzazione su google ..... pensaci prima di scornati a scrivere valanghe di codice

    Poi se ti vuoi cimentare in questa impresa anche per imparare fallo pure .... vedi te

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.