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
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
I più letti di oggi
- Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
- Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
- Chiamare direttamente un numero di telefono con HTML5
- Richiamare programmaticamente le operazioni di aggiornamento, eliminazione e inserimento di FormView, DetailsView e GridView