Un contatore di accessi unici in Asp

Siti dinamici con ASP
Impara a creare siti dinamici professionali con ASP

Scritto da Luca Ruggiero nella sezione Asp

Un metodo efficace per tenere traccia delle visite che effettivamente sono state ricevute è quello di contare gli accessi unici.
Per fare questo c'è bisogno di due cose: un database sul quale andiamo a registrare il numero di accessi, ed un cookie che blocca la query di aggiornamento sul database, nel caso in cui l'accesso fosse già stato effettuato, ovvero blocca i reload di pagina.

Aprite un file di database Access qualsiasi, anche quello che utilizzate per tenere i dati di tutto il vostro sito, supponiamo che si chiami database.mdb; al suo interno create la tabella contatore composta da un solo campo, accessi (tipo testo, senza chiave primaria) con valore iniziale impostato su zero (0).

Creiamo il nostro file Asp contatore.asp ed inseriamo questo codice:

<%@LANGUAGE = JScript%>
<%
   // Creo ed apro la connessione
   var Cn = new ActiveXObject("ADODB.Connection");
   var Sc = "driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("database.mdb");
   Cn.Open(Sc);

   var MostraAccessi = Cn.Execute("SELECT * FROM contatore");

   // Verifico la presenza del cookie
   var ControllaAccessi = Request.Cookies("CONTATORE");
   var ScedenzaControlloAccessi = new Date();
   Response.Cookies("CONTATORE") = ScedenzaControlloAccessi.toLocaleString();

   Response.Write("Accessi: ");

   // Se il cookie non è presente allora l'accesso è unico ed effettuo la query di aggiornamento
   if (ControllaAccessi == "")
   {
       var AggiornaAccessi = Cn.Execute("UPDATE contatore SET accessi = accessi + 1");
       Response.Write(MostraAccessi("accessi"));
   }
   // Oppure mi limito a stampare a video il numero di accessi
   else
   {
       Response.Write(MostraAccessi("accessi"));
   }

   Cn.Close();
%>

I più cliccati della sezione Asp

:: Un semplice form mail in Asp (51.682)

:: Creazione di un Guestbook in Asp (50.783)

:: Creazione di un'area di accesso riservato in Asp (45.423)

:: Connessione ad un database MySql con Asp (25.045)

:: Connessione ad un database Microsoft SQL Server con Asp (24.069)

:: Asp e database (23.123)

:: Differenza tra i metodi get e post e recupero dei dati, attraverso Asp (22.301)

:: Una semplice area di accesso riservato senza DB in Asp (21.384)

:: Riscrivere le URL con Asp (19.743)

:: Creazione di un Sondaggio in Asp (19.100)

IN EVIDENZA
DOWNLOAD