Visualizzazione dei risultati da 1 a 8 su 8

Discussione: contatore giornaliero

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141

    contatore giornaliero

    Ciao a tutti...
    dovrei fare un contatore che ogni giorno conta gli accessi ad un sito,ho provato a cercare sul forum,ma non ho trovato nulla che facesse al caso mio...in quanto il mio contatore dovrebbe ricominciare da 0 ogni giorno.cm posso fare???
    Ringrazio anticipatamente...
    ciao

  2. #2
    potresti provare a salvare in un file, oltre al numero di visite anche la data dell'ultima visita.
    ogni volte che arriva un visitatore fai il confronto delle date e se siamo nel giorno sucessivo riazzeri il contatore
    Manuel

    View my profile on LinkedIn
    Ubertini: amo solo te!

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    bene o male è quello ke ho fatto(lo script l'ho trovato sul forum,ma nn è quello ke serve a me purtroppo...)

    $zero=0;
    $file = 'utenti.txt';
    $fp = fopen( $file, 'r+' );
    settype( $num = fread( $fp, filesize( $file ) ), "float" );
    fseek($fp, 0);



    $today = date("H:i:s m-d-Y");
    echo "-------------".$today;
    $dayfirst = mktime (0, 0, 1, date("m") ,date("d"), date("Y"));
    $daylast = mktime (11, 36, 30, date("m") ,date("d"), date("Y"));

    if(($today > $dayfirst)||($today < $daylast))
    fwrite( $fp, ++$num );
    else
    fwrite( $fp, $zero);

    fclose( $fp );
    // il numero utenti
    echo $num;

  4. #4
    prova così (fatto velocemente, ci sarà qualche errore):

    <?
    // formato contatore: contatore|giorno

    $filename = "contatore.txt";

    $handle = fopen($filename, "r");
    $contents = fread($handle, filesize($filename));
    fclose($handle);

    list($contatore, $giorno) = split(['|'], $contents);

    $data = getdate();
    $oggi = $data['mday'];

    if($oggi == $giorno)
    $contatore++;
    else
    $contatore = 1;

    $handle = fopen($filename, "w+");
    fwrite($handle, "$contatore|$oggi");
    close($handle);
    ?>
    Manuel

    View my profile on LinkedIn
    Ubertini: amo solo te!

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    sembra che funzioni...
    mi hai semplificato un sacco di cose,altrimenti avrei dovuto modificare il db e sarebbe stato un bel macello...

    grazie 1000

    ciao

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    un ultima cosa...(scusa se approfitto)...
    cmq ci sarebbe qualche modo x non fare aumentare il contatore al refresh della pagina???

  7. #7
    si con un cookie

    <?
    // formato contatore: contatore|giorno

    $filename = "contatore.txt";

    $handle = fopen($filename, "r");
    $contents = fread($handle, filesize($filename));
    fclose($handle);

    list($contatore, $giorno) = split(['|'], $contents);

    $data = getdate();
    $oggi = $data['mday'];

    $datacookie = $_COOKIE['dataoggi'];

    if($oggi == $giorno) {
    if(!$datacookie) {
    $contatore++;
    }
    }
    else
    $contatore = 1;

    setcookie('dataoggi', $oggi);

    $handle = fopen($filename, "w+");
    fwrite($handle, "$contatore|$oggi");
    close($handle);
    ?>

    il cookie è di sessione dunque al refresh non aggiorna ma se chiudi il browser e ci rientri lo conta come una nuova visita

    Manuel

    View my profile on LinkedIn
    Ubertini: amo solo te!

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    Ci avevo pensato,ma ho sempre avuto dei problemi con i cookie,cmq il tuo codice funziona correttamente...
    ankora 1000grazie...
    ciao

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.