Visualizzazione risultati 1 fino 9 di 9

Discussione: Contatore visite

  1. #1
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito Contatore visite

    Vorrei progettare un contatore visite in PHP + SQL ma mi chiedevo come posso gestire il fatto che le visite siano "uniche"...

  2. #2
    habbogalactica non è connesso Utente giovane
    Data registrazione
    12-06-2012
    Messaggi
    66

    Predefinito

    PHP-Fusion setta un cookie alla prima visita e alla successiva visita ricontrolla se esiste per mettere un +1 al contatore o meno, comunque se si cancellano i cookie o se non li si accettano viene contata un'altra visita. L'unico metodo che siano davvero uniche è quello di salvare gli IP di chi viene e controllare ogni volta che non ci siano per poter aggiungere un +1 al contatore, ma comunque ti riempirebbe il database in poco tempo se ne ricevi molte.

  3. #3
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    E nemmeno l'ip ti assicura che non sia la stessa persona su un altro computer, o sullo stesso computer collegato da un altro posto.

  4. #4
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    Ma i contatori di visite "famosi" (non so se posso fare nomi) quale di questi due criteri usano?

  5. #5
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Probabilmente entrambi, ed in nessun caso sono affidabili al 100%.

  6. #6
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    Ok, ho deciso di effettuare il controllo sull'ip.
    Se un ip visita due volte il sito con nell'arco di 24 ore viene conteggiato una solta volta.
    Come posso progettare il tutto? Al caricamento di ogni pagina devo eseguire una query per verificare se la visita è "nuova" e in caso registrarla?

  7. #7
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,753

    Predefinito

    Se può esserti utile, nel mio attuale sito avevo fatto una cosa simile: salvo tutte le visite e le visite uniche (queste ultime, più dettagliate):

    Codice PHP:
    function visita()
    {
    $sq = sqlite_open("./database.db", 0666, $sqlite_error);
    if(!
    $sq)
    die(
    "Errore Sqlite: ".$sqlite_error);
    $query = 'INSERT INTO visite (ip, timestamp) VALUES (\''.$_SERVER['REMOTE_ADDR'].'\',\''.time().'\')';
    debug($query);
    if(!(
    sqlite_query($sq,$query,SQLITE_BOTH,$sqlite_error))) #,SQLITE_BOTH,$sqlite_error
    {
    sqlite_close($sq);
    die(
    "Errore query: ".$sqlite_error);
    }

    $query = 'SELECT id FROM visite_uniche WHERE ip=\''.$_SERVER['REMOTE_ADDR'].'\' AND timestamp > \''.mktime(0,0,0).'\'';
    debug($query);
    if(!(
    $query = sqlite_query($sq,$query,SQLITE_BOTH,$sqlite_error)))#,SQLITE_BOTH,$sqlite_error
    {
    sqlite_close($sq);
    die(
    "Errore query: ".$sqlite_error);
    }
    if(!
    sqlite_num_rows ($query))
    {
    $query = 'INSERT INTO visite_uniche (ip, timestamp, so, browser,url_provenienza) VALUES (\''.$_SERVER['REMOTE_ADDR'].'\',\''.time().'\',\''.OS().'\',\''.browser().'\',\''.$_SERVER["HTTP_REFERER"].'\')';
    debug($query);
    if(!(
    sqlite_query($sq,$query,SQLITE_BOTH,$sqlite_error)))#,SQLITE_BOTH,$sqlite_error
    {
    sqlite_close($sq);
    die(
    "Errore query: ".$sqlite_error);
    }

    }
    sqlite_close($sq);
    }
    ...anche se probabilmente adesso lo farei un po' differente, comunque può darti un input

    ah, nota che ho usato sqlite, e non mysql... ma tanto sql è comunque sql

    Ciao!
    Ultima modifica di alemoppo : 11-09-2012 alle ore 15.19.43

  8. #8
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    Ma quindi ogni volta che un utente visita una pagina viene eseguita questa funzione con le query annesse? Se l'utente clicca un link viene rieseguita ogni volta?

  9. #9
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,753

    Predefinito

    Nel mio sito, sì...

    Ciao!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •