Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Qual è la logica per realizzare un contatore visite in php mysql ?

    Salve ragazzi e buona domenica a tutti... Peccato per le Ferrari.

    Allora, vorrei sapere, molto brevemente s'intende, la logica per realizzare un contatore di visite totali al sito e di utenti online; una cosa fatta per bene, nel senso che posso usare per esempio cookie o loggare l'indirizzo IP per non permettere visite multiple.

    Mi basta solo che mi spiegate la logica di funzionamento, poi me lo implemento io, con php me la cavo abbastanza bene.

    ps. Dispongo di php e mysql per realizzare l'applicazione.
    Grazie

  2. #2
    allora, contatore di visite totali, io direi che ti conviene implementarlo così:

    Quando uno entra nel tuo sito, dopo aver chiamato session_start();, tu controlli se è impostata una variabile di sessione (tipo $_SESSION["contato"]). Se la variabilie non c'è aggiungi uno al contatore totale (che magari salvi in un file di testo, dato che fare una tabella per questo non mi sembra in massimo) ed imposti la veriabile, in caso contrario non fai niente.
    Se invece devi contare le visite per ciascuna pagina ti conviene usare il DB, con una tabella per contare le visite in ogni pagina. In ogni pagina, controlli se è impostata la varibile di sessione corrispondente alla tua pagina (per esempio imposti $_SESSION['contato'] come un array in cui salvi gli id delle pagine già visitate) e poi agisci come sopra.

    Per gli utenti loggatti è un po' più particolare:
    In ogni richiesta al server la quasi totalità dei browser passa negli header della richiesta l'indirizzo IP della macchina chiamate. Quindi, quando un utente fa login, salvi l'ultimo indirizzo IP da cui si è autenticato, mentre quando fa logout, lo cancelli. Quindi per sapere gli utenti online devi solo controllare gli utenti in cui l'ip IS NOT NULL.
    Per gestire il logout in caso l'utente chiuda il browser, puoi implementare diversi sistemi, io ti consiglierei sia di implementare una chiamata AJAX sull'evento onUnLoad della pagina, sia di mettere un campo TIMESTAMP con la data dell'ultima richiesta. Se la differenza tra ora ed il timestampt supera un tot di secondi (da te impostato) l'utente viene considerato inattivo e viene scollegato.

    Spero di esserti stato utile

  3. #3
    perfetto.
    Tante informazioni. Adesso le leggo con calma e provo a fare tutto.
    Grazie mille e buona domenica

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.