asp - asp.net - aspcode.it

COMMUNITY - Login
 Username:
 
 Password:
 
Voglio registrarmi!
Password dimenticata?
 Utenti on-line: 0
 Ospiti on-line: 1199
ASPCode.it - Store

  > > Articoli

Un contatore di accessi per il vostro sito

Data di pubblicazione: 03/06/2001        Voto della community: 3,80 (Votanti: 28)


In molti siti web che vi è capitato di visitare avrete sicuramente notato un contatore di visite; in questo articolo analizziamo come è possibile realizzarne uno per il vostro sito sfruttando l'oggetto FileSystemObject.

Il codice per il contatore che descriverò dovrà essere inserito nella home page del vostro sito, e cioè nella root principale nel file denominato index.asp (oppure default.asp); a supporto di questo contatore verrà creato un file di testo che chiamato visite.txt inserito sul server all'interno di una cartella in cui abbiamo accesso in scrittura; generalmente la cartella in questione è la directory public (nel caso abbiate problemi ad individuare la directory in cui avete accesso in scrittura, contattate l'amministratore del vostro server). Alla prima visita, il file verrà creato, e al suo interno verrà inserito uno '0'. Ogni volta che il vostro sito verrà visitato, il contatore andrà a leggere dal file visite.txt il valore attuale di visite, lo incrementerà di una unita, salverà il valore degli accessi aggiornato e infine visualizzerà nella vostra home page il numero di accessi fino a quel momento.

Una caratteristica importante di questo contatore, è che esso evita di conteggiare i reload al sito (per intenderci, quegli accessi che vengono conteggiati quando si clicca sul pulsante aggiorna del browser), o gli eventuali ritorni alla home page dopo aver visitato pagine interne al sito: per implementare questa "feature" utilizziamo una variabile di sessione che creiamo nel momento in cui un utente entra nel nostro sito a cui diamo il valore 1; prima di incrementare il contatore verrà verificato che questa variabile abbia un valore diverso da 1 (se non è così significa che l'utente è già passato dalla home page del nostro sito durante quella sessione e che quindi il suo accesso è già stato conteggiato).

Vediamo ora il codice del contatore:

<%
Dim nomefile, filestream
nomefile = Server.MapPath("/public/visite.txt")
Set objFile = CreateObject("Scripting.FileSystemObject")

'se il file non esiste, crealo
if not objFile.FileExists(nomefile) then
  Set filestream = objFile.OpenTextFile(nomefile, 2, true)
  filestream.WriteLine("0")
end if

'legge il numero attuale di visite
Set filestream = objFile.OpenTextFile(nomefile, 1, true)
Dim visite
visite = filestream.ReadLine()
filestream.Close

'se non è ancora presente la variabile di sessione
if Session("visiting")<>1 then
  Session("visiting") = 1  'crea la variabile di sessione
  visite = visite + 1  'incrementa di uno gli accessi al sito
end if

'scrive nel file il valore aggiornato di visite
Set filestream = objFile.CreateTextFile(nomefile, true)
filestream.WriteLine(visite)
filestream.Close

Set filestream = Nothing
Set objFile = Nothing

'visualizza sul browser il numero totale di visite
Response.Write "Numero visite: " &visite
%>

Questo è solo un esempio di un semplice contatore di accessi; per rendere il vostro contatore più "ricco" è possibile implementare altre caratteristiche, come ad esempio la visualizzazione di immagini al posto dei numeri, il numero di visite con e senza reload, e altro ancora.




Utenti connessi: 1199