Scopo articolo
In questo articolo voglio spiegarvi come ricordare al visitatore del proprio sito, la data e l'orario della sua visita precedente presso il nostro web.
Cosa Occorre
Per poter usare questo script, non occorre nulla in particolare. L'unico problema in cui possiamo incorrere è quello dell'utente finale. Infatti se ha disattivato i cookies (tramite impostazione del browser ), questo script genererà un errore.
Codice Script
<%
function ultima_visita()
Dim UltimaVisita
UltimaVisita=" " & Request.cookies("CookiesUltimaVisita")
if trim(UltimaVisita)<>"" then
response.write( trim(UltimaVisita) )
else
response.write("Questa è la tua prima visita al nostro sito.")
end if
Dim Ora
Ora = datepart("h", time() )
if len(Ora)=1 then
Ora="0" & Ora
end if
Dim Min
Min = datepart("n", time() )
if Len(Min)=1 then
Min="0" & Min
end if
Dim Sec
Sec = datepart("s", time() )
if Len(Sec)=1 then
Sec="0" & Sec
end if
Dim Anno
Anno = datepart("yyyy", date() )
Dim Mese
Mese = datepart("m", date() )
if len(Mese)=1 then
Mese="0" & Mese
end if
Dim Giorno
Giorno = datepart("d", date() )
if len(Giorno)=1 then
Giorno="0" & Giorno
end if
Response.cookies("CookiesUltimaVisita")="<b>La tua ultima
visita in questo sito è stata il " & Giorno&"/"&Mese&"/"&Anno&
" alle "& Ora & "."&Min&"</b>"
Response.Cookies("CookiesUltimaVisita").Expires=#January 1, 2010#
end function
%>
<html>
<head>
<title>Script Ultima Visita</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<table width="100%" border="0" cellspacing="0"
cellpadding="0" height="100%">
<tr>
<td valign="middle">
<div align="center">
<table width="450" border="0" cellspacing="0"
cellpadding="0">
<tr>
<td bgcolor="#33CCFF">
<div align="center"><i><font size="2" color="#FFFFFF">
<% call ultima_visita()%>
</font></i></div>
</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td bgcolor="#33CCFF">
<div align="center"><font size="2"><i><font
color="#FFFFFF">Script Fornito da <a href="http://www.innovatel.it"
target="_blank">Tele-Com Service S.n.c.</a></font></i></font></div>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</body>
</html>
Spiegazione Script
Data la semplicità di lettura della parte in html, mi soffermerò a spiegare solamente la funzione creata tramite Active Server Page che ha il compito di indicare al nostro visitatore quando ha effettuato la sua ultima visita presso il web interessato.
La funzione viene invocata tramite la seguente chiamata presente nel corpo della tabella situata a centro pagina con la seguente sintassi:<% call ultima_visita()%>. Com'è possibile notare, alla funzione NON viene passato nessun argomento da rielaborare. Infatti essa sarà in grado di generare il risultato in modo completamente autonomo.
Tramite l'istruzione
UltimaVisita=" " & Request.cookies("CookiesUltimaVisita")
andiamo a leggere il valore presente nel cookies nominato CookiesUltimaVisita e memorizzato nella variabile UltimaVisita. I futuri calcoli, saranno svolti su questa variabile. Infatti i cookies verranno riutilizzati solo nella parte finale dello script. Adesso spieghiamo il perchè dell' if:
if trim(UltimaVisita)<>"" then
response.write( trim(UltimaVisita) )
else
response.write("Questa è la tua prima visita al nostro sito.")
end if
Come condizione dell' if, abbiamo il controllo del valore della variabile UltimaVisita. Per testarla, viene usato anche lo strumento trim per essere sicuri di aver la variabile "pura". Infatti il compito di questa istruzione è quello di privare la stringa interessata di tutti gli spazi posti all'inizio ed alla fine di essa. Facciamo brevemente un esempio per capire meglio la sua comodità
Stringa_in_ingresso = "____www.html.it____"
Per poter mostrarvi la stringa compresa di spazi, ho sostituito (solo per comodità visiva) il carattere di spazio tradizionale col carattere di underscore ( _ ). Adesso utilizziamo la funzione trim con la variabile interessata :
trim(Stringa_in_ingresso)
A questo punto la variabile avrà il seguente contenuto: www.html.it
Se la variabile letta dal cookies è vuota, significa che l'ultente è la prima volta che visita il web, altrimenti uscirà l'ultima data della visita.
Adesso, possiamo tornare al nostro script. Con l'istuzione Ora = datepart("h", time() ) andiamo a memorizzare nella variabile Ora, l'ora di esecuzione della pagina. Procedimento analogo per i minuti, secondi, giorno, mese, anno.
Sorge naturale una domanda : " perchè non posso usare la data in modo diretto evitando quindi di scomporla per poi ricomporla manualmente in fase di scrittura cookies ? " La risposta è molto semplice ma non del tutto scontata. Infatti il compito di smontare e rimontare la data e l'ora non serve assolutamente a nulla se il server su cui risiede il web usa un formato di memorizzazione di tipo italiano. Pensate invece che cosa succederebbe se il server usasse un formato del tpo americano. Il visitatore rimarrebbe "perduto" in un web italiano con formato data ed ora diversi dal nostro. Per quanto riguarda l'ora mi interessa ricordare che se il server di appoggio NON risiede in Italia ( o in uno stato con il nostro stesso fuso orario ), bisogna aggiungere o sottrarre le ore di differenza.
Adesso tramite il comando Response.cookies("CookiesUltimaVisita"), andiamo a salvare le informazioni ottenute per ricordare al visitatore la sua ultima visita. Per finire tramite il comando
Response.Cookies("CookiesUltimaVisita").Expires=#January 1, 2010#
andiamo a impostare la scadenza del nostro cookies. Io ho impostato la scadenza in data 01/01/2010 . Se desiderate farlo scadere prima o dopo, basta che modifichiate la data presente con quella desiderata.
Cosa Otterremo?
A video apparirà la seguente tabella:
La data e l'ora indicate, sono quelle in cui ho finito di testare lo script. Se lo testerete sul vostro computer, avrete sicuramente valori diversi.
Nota Finale
In questo script ho chiamato il cookies in questione col nome CookiesUltimaVisita. Se utilizzate questo script è consigliabile cambiare nome al cookies per evitare che altri web lo utilizzino e che i dati che dovrebbero essere visualizzati, vengano sostituiti da altri. Un buon metodo per assegnare il nome corretto al cookie ( per qualunque scopo serva ) è il seguente :
[nome_dominio][estensione]_[identificatore]
es :
dominio : www.innovatel.it
scopo : ultima visita
Adesso costruiamo il nome completo del cookie :
innovatelit_ultimavisita
in questo modo siamo certi che altri programmatori non useranno questo nome per i loro cookies in quanto sul dominio in questione, stiamo lavorando solo noi.