Un articolo a cura di Lukeonweb.net.
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.