Un contaclick basato su file di testo in Asp

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

Scritto da Luca Ruggiero nella sezione Asp

Il sistema di monitoraggio dei click effettuati dagli utenti sulle proprie pagine è un ottimo metodo per tenere traccia delle sezioni più interessanti di un sito, sia che si tratti di click verso pagine, sia verso file da scaricare.

Viene utilizzato un contatore implementato in un unico file Asp, questo effettua l'incremento della stringa numerica di una unità e registra il nuovo numero su di un database o su di un file di testo; per questa demo si è scelta la seconda modalità.

La tecnica con cui questo sistema è stato realizzato si basa su di una semplice filosofia, utilizzare una QueryString verso un file Asp, ad esempio contaclick.asp, si ipotizzi di voler realizzare un simile sistema per il download di file zippati, questo è il codice:

<%@Language = JScript%>
<%
   // Recupero la QueryString
   var click = new String(Request.QueryString("id"));
   // Creo il FileSystemObject
   var FSO = new ActiveXObject("Scripting.FileSystemObject");
   // Localizzo il percorso del file e ne verifico l'esistenza
   var Path = Server.MapPath(click);
       if (!FSO.FileExists(Path)) {
            // Se non esiste lancio un messaggio di errore
            Response.Write("ERRORE 404 - FILE NON TROVATO");
       }
   // Localizzo il file di testo in cui registrare i click
   var File = Server.MapPath(click + ".txt");
   var Vecchio = FSO.OpenTextFile(File);
   // Incremento il numero dei click
   var n = parseInt(Vecchio.ReadLine());
       Vecchio.Close();
       n++;
   // Creo il nuovo file di testo col nuovo valore
   var Nuovo = FSO.CreateTextFile(File);
   Nuovo.WriteLine(n);
   Nuovo.Close();
   // Reindirizzo verso il file da scaricare
   Response.Redirect(click);
%>
Il funzionamento dell'applicazione è semplice, ed i commenti al codice lo dimostrano, ma non è finita qui: è necessario creare dei file di testo che abbiano lo stesso nome del file da scaricare, estensione compresa, ad esempio, per monitorare i click verso il file uno.zip, creeremo il file uno.zip.txt, a cui imposteremo il valore di default zero (0).

Il sommario dei file da scaricare riporterà, vicino ai rispettivi link, il conteggio dei click, per questo utilizzeremo la tecnologia SSI, ovviamente dovrà trattarsi di un file Asp, il codice è banale:
<%@Language = JScript%>
<html>
 <head>
  <title>Un contaclick basato su file di testo - www.lukeonweb.net</title>
  <basefont size="2" face="Verdana">
 </head>
<body>

<h5>Contaclick by <a href="http://www.lukeonweb.net">Luca Ruggiero</a></h5>

<a href="contaclick.asp?id=uno.zip">Uno</a> - <!--#include file="uno.zip.txt"--> click<br>
<a href="contaclick.asp?id=due.zip">Due</a> - <!--#include file="due.zip.txt"--> click<br>
<a href="contaclick.asp?id=tre.zip">Tre</a> - <!--#include file="tre.zip.txt"--> click<br>

</body>
</html>
Il funzionamento è semplice e veloce, l'unico contro verificatosi sia in fase di testing, sia da preziose segnalazioni da parte di utenti che hanno usufruito di un servizio di download basato su questo sistema, è che l'applicazione non funziona in maniera ottimale qualora ci si serva di utility per velocizzare il download, come DownloadAccellerator o GetRight.

I più cliccati della sezione Asp

:: Un semplice form mail in Asp (52.078)

:: Creazione di un Guestbook in Asp (50.970)

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

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

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

:: Asp e database (23.285)

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

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

:: Riscrivere le URL con Asp (19.946)

:: Creazione di un Sondaggio in Asp (19.221)

IN EVIDENZA
DOWNLOAD