Realizzare un contatore di visite con le variabili session e le server variables

di Andrea Zani, in Classic ASP, Application, Tips,

In moltissime home-page sono presenti vari contatori di visite offerti gratuitamente da vari siti, graficamente ineccepibili ma che, nella maggioranza dei casi, sono del tutto inefficienti per il conteggio reale dei visitatori. Infatti, basta premere ripetutamente il tasto reload del browser (F5) per vedere il numero di visite aumentare senza controllo, o nei siti che per accedere alle varie sotto-categorie devono tornare alla home-page, una visita reale in media fa aumentare il contatore di visite di 5 o 10 unità.
L'ASP consente grazie alle variabili session di bloccare il contatore da noi realizzato. Ma se il browser che accede alle nostre pagine ha i cookies disabiliati, ecco che tutti i nostri controlli vengono elusi. In nostro aiuto viene una server variables, che ci consente di sapere da quale pagine proviene il visitatore. A noi non resterà che controllare, nella pagina dov'è presente il nostro contatore, da che URL proviene il visitatore, e solo se questo è diverso di quello del nostro sito, aumentare il contatore. Ecco qui un esempio di quanto detto finora:

<%
dim miosito,lun,referer
' qui sotto dobbiamo inserire il nome completo del nostro sito
miosito="http://www.miosito.com"
lun=len(miosito)
referer=request.servervariables("HTTP_REFERER")
Set Fil=CreateObject("Scripting.FileSystemObject")
Set inf=Fil.OpenTextFile(Server.MapPath("contatore.txt"),1,true)
testo=inf.ReadLine()
inf.Close
Set inf=Nothing
if session("visitato")<>"si" and left(referer,lun)<>left(miosito,lun) then
 testo=testo+1
 session("visitato")="si"
 end if
Set out=Fil.CreateTextFile(Server.MapPath("contatore.txt"),true)
out.WriteLine(testo)
out.Close
Set out=Nothing
Set Fil=Nothing
response.write "Numero visite:"&testo
%>

Naturalmente si deve creare anche un file di testo di nome "contatore.txt" contenente un numero.

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

I più letti di oggi