Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: contatore di accessi

  1. #1

    contatore di accessi

    Vorrei scrivere un codice che conta gli accessi alla mia pagina.

    Prima ipotesi: ogni volta che viene caricata la pagina, viene aggiornato il contatore;

    certo che così non sarebbe un granché: ogni reload implicherebbe un incremento... come posso migliorare lo script per evitare questo?

  2. #2
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Imposti una variabile di sessione che memorizzi, non so, l'ip dell'utente. Così basta controllare che quella variabile non sia settata per decidere se incrementare il contatore o meno.

  3. #3
    mmmh, e come la mettiamo per reti proprietarie (tipo fastweb)... mi sbaglio o in questi casi più utenti hanno lo stesso ip?

  4. #4
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Beh ma la sessione sarà unica per ogni client collegato.
    Ho detto l'ip. Ma potresti mettere anche un valore booleano in sessione. L'importante è sapere se la presenza di quel client possa considerarsi una "new entry" o un vecchio utente che ha fatto un refresh.

  5. #5
    io semplicemente setto un valore su una variabile di sessione infatti.

  6. #6
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478

    Re: contatore di accessi

    [supersaibal]Originariamente inviato da Insaponata
    Vorrei scrivere un codice che conta gli accessi alla mia pagina.

    Prima ipotesi: ogni volta che viene caricata la pagina, viene aggiornato il contatore;

    certo che così non sarebbe un granché: ogni reload implicherebbe un incremento... come posso migliorare lo script per evitare questo? [/supersaibal]
    Prova con questo semplicissimo script che tempo fa realizzai grazie a VaLvOnAuTa ...risolve il problema del refresh della pagina, evitando quindi il continuo incremento del counter.

    In pratica tutto si basa sulla sessione "checkCounter"...
    Codice PHP:
    <?php 
    session_start
    (); 

    $data "./count.dat"
    if(!(
    $fp fopen($data"r"))) die ("Impossibile aprire il file: $data");
    $counter = (int) fread($fpfilesize($data));
    fclose($fp);

    if(isset(
    $_SESSION['checkCounter'])) { 
        
    $_SESSION['checkCounter'] = 1
    } else { 
        
    $_SESSION['checkCounter'] = $counter++; 

    echo 
    "Hit: $counter"

    $fp fopen($data"w"); 
    fwrite($fp$counter); 
    fclose($fp); 
    ?>

  7. #7
    questo codice si serve del file count.dat giusto?
    lo si deve creare? come?
    e inoltre, se voglio farlo partire da un certo valore il contatore in modo da fargli prendere il posto di quello che uso ora?

  8. #8
    si, usa un file che si chiama così ma se ti fa comodo puoi chiamarlo anche pippo.txt o come vuoi... io l'ho provato e fa quello che serve anche a me. l'unico neo è che se io chiudo il browser mi crea una nuova sessione e il contatore sale. comunque va bene anche cosi...
    ciao

    a si nfunziona anche con le reti aziendali come detto sopra... ogni pc crea una sua sessione...

    se vuoi farlo partire da un certo numero lo scrivi nel file di testo... poi lui da solo incrementa.
    www.zukimania.org

  9. #9
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    [supersaibal]Originariamente inviato da simoneudine
    l'unico neo è che se io chiudo il browser mi crea una nuova sessione e il contatore sale. comunque va bene anche cosi...
    ciao
    [/supersaibal]
    E' normale che accada. La sessione viene chiusa o dopo un tempo massimo di inattività (che dovrebbe essere di 24 minuti) o dopo la chiusura del browser.
    Se vuoi che l'utente non venga segnato dopo la chiusura del browser puoi usare i cookie al posto delle sessioni.

  10. #10
    si, lo sapevo, ma per i cookie credo sia piu complesso e poi non tutti li hanno abilitati.. e li che si fa?
    www.zukimania.org

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 © 2025 vBulletin Solutions, Inc. All rights reserved.