Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Ultima visita

Informare il visitatore su orario e durata della sua ultima visita
Informare il visitatore su orario e durata della sua ultima visita
Link copiato negli appunti

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 border="0" cellspacing="0"
cellpadding="0" >
<tr>
<td valign="middle">
<div align="center">
<table 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.

Scarica l'esempio di questo articolo


Ti consigliamo anche