Pronti per l'uso: contatore di accesso

di Daniele Bochicchio, in ASP - Scripting,

Questa pagina dimostra come creare un semplice contatore di accesso (testuale o con immagini) tramite ASP. Con l'aiuto di alcuni oggetti per creare/scrivere/leggere file sul server, é possibile farlo in pochi secondi.

L'oggetto FileSystem é usato per accedere al file in cui vanno memorizzati gli accessi. L'oggetto TextStream é usato per leggere e scrivere sul file in questione.

Per un contatore testuale questo codice é più che sufficiente:

myfile="c:\inetpub\www\mypath\counter_mysite.txt"
Set fs=CreateObject("Scripting.FileSystemObject")
  Set a=fs.OpenTextFile(myfile)
  visita=CInt(a.ReadLine)
if Len(Session("visita"))=0 then
   Session("visita")=visita
   visita=visita+1
   a.close
   Set a=fs.CreateTextFile(myfile, True)
   a.WriteLine(visita)
  end if
a.Close
  Response.Write visita

La prima azione effettuata da questo script é aprire il file (il percorso deve essere adattato al proprio caso, anche con l'ausilio di un MapPath ), leggere l'ultimo valore, convertirlo in interi, quindi verificare che questa sia la prima visita effettuata alla pagina e solo in questo caso aggiungere 1 al numero. In questo modo si ottine un contatore di solo testo. L'ultima parte dello script scrive sul file l'incremento e chiude il tutto, visualizzando il numero delle visite. Per far funzionare il tutto deve essere inserito nel percorso che viene dichiarato nella variabile myfile un file con lo stesso nome specificato nella variabile e che abbia come contentuo 0 (a numeri) oppure il numero di visitatori da cui si vuole partire.

Se invece serve un contatore che visualizzi dei numeri come immagini, si può usare questo script

myfile="c:\inetpub\www\mypath\counter_mysite.txt"
  Set fs=CreateObject("Scripting.FileSystemObject")
  Set a=fs.OpenTextFile(myfile) visita=CInt(a.ReadLine)
  if Len(Session("visita"))=0 then 
   Session("visita")=visita
   visita=visita+1
  a.close
  Set a=fs.CreateTextFile(myfile, True)
  a.WriteLine(visita) 
  end if
  a.Close
  lung=CInt(Len(visita))
  visita=CStr(visita)
  
  Response.Write "<img src=""immagini/contdx.gif"">"
  for i=1 to lung 
   Response.Write "<img src=""immagini/cont"&Mid(visita,  i, 1)&".gif"">"
  next
  Response.Write <"img src=""immagini/contsx.gif"">"

Il funzionamento di questo script é simile al precedente, con la sola differenza che questo ha bisogno che sotto la cartella immagini, si trovino dei file con nome cont0.gif....etc fino a cont9.gif che rappresentino i vari numeri. Sono anche necessari i file contdx.gif che rappresenta il bordo destro ed il file contsx.gif che rappresenta il border sinistro. Il funzionamento é del tutto simile allo script precedente, escluso la routine di visualizzazione delle immagini. L'incoveniente di uno script di questo tipo rispetto ad un cgi é che i numeri vengono richiamati come singole immagini, per cui ci può essere un caricamento non proprio sincronizzato, a differenza di quanto avviene con gli script CGI. Il punto di forza é che si può praticamente cambiare di tutto ed in più usare come immagini quelle che si preferisce, oltre al fatto di appesantire di meno il server, riuscendo ad occupare minori risorse, grazie al fatto che il tutto viene generato direttamente dal file .asp

Contenuti dell'articolo

    Commenti

    Visualizza/aggiungi commenti

    | Condividi su: Twitter, Facebook, LinkedIn

    Per inserire un commento, devi avere un account.

    Fai il login e torna a questa pagina, oppure registrati alla nostra community.

    Approfondimenti

    Nessuna risorsa collegata