Un cookie è un semplice file di testo che può
contenere fino a 4 Kb di dati; risiede sul disco rigido del client e il
browser vi accede solo se il sito remoto lo richiede.
ABILITAZIONE AI COOKIE
Per verificare se il browser dell'utente che visita
il nostro sito ha i cookies abilitati o meno è possibile
sfruttare la variabile HTTP_COOKIE della collezione
ServerVariables dell'oggetto Request. Ecco un esempio di codice che
invia un messaggio di avvertimento al browser nel caso egli abbia i
cookies non abilitati:
<%
if Request.ServerVariables("HTTP_COOKIE") = "" then
Response.Write "Attenzione, Cookie non abilitati!"
end if
%>
CREARE UN COOKIE
La creazione dei cookie deve avvenire prima di
qualsiasi tag html, a meno che non venga impostata la proprietà Buffer
dell'oggetto Response uguale a True; analizziamo come creare un cookie:
<%
Response.Cookies("MyCookie") = "Il mio primo cookie"
%> <html>
<head>
<title>Creazione di un cookie</title>
</head>
<body>
Il contenuto del cookie creato è: <%
Response.Write(Request.Cookies("MyCookie"))
%> </body>
</html>
A tale cookie non è stata assegnata una data di
scadenza e quindi esso è di tipo non permanente e non verrà creato alcun
file. Per rendere il cookie "permanente" è necessario utilizzare il
seguente codice ASP:
<%
Response.Cookies("MyCookie") = "Il mio primo cookie"
Response.Cookies("MyCookie").Expires = DateAdd("d", 7, Date)
%>
<html>
<head>
<title>Creazione di un cookie</title>
</head>
<body>
Il contenuto del cookie creato è:
<%
Response.Write(Request.Cookies("MyCookie"))
%>
Il cookie scadrà fra una settimana.
</body>
</html>
Queso codice crea un cookie uguale al precedente, ma
in più ne setta la data di scadenza, addizionando sette giorni
alla data corrente. Il cookie scadrà alla mezzanotte del giorno
specificato basandosi sul fuso orario della zona in cui si trova il
server. Nella proprietà expires è possibile includere anche un orario;
in questo caso è necessario sostituire "d" con lo specificatore che
desideriamo ("h" per le ore, "n" per i minuti oppure "s" per i secondi)
e Date con Now.
Un'altra importante proprietà dei cookies, è che all'interno di un
cookie è possibile inserire più di un valore, tramite una
indicizzazione del cookie stesso; vediamo un esempio:
Per modificare il cookie basta sovrascrivere i
valori, quindi il codice e' il medesimo della creazione:
<%
Response.Cookies("MyCookie") = "Il mio primo cookie modificato"
Response.Cookies("MyCookie").Expires = DateAdd("d", 7, Date)
%>
<html>
<head>
<title>Modifica di un cookie</title>
</head>
<body>
Il contenuto del cookie modificato è:
<%
Response.Write(Request.Cookies("MyCookie"))
%>
</body>
</html>
ELIMINARE IL COOKIE
L'eliminazione del cookie è semplice, in quanto è
sufficiente assegnare al cookie una stringa vuota:
<%
Response.Cookies("MyCookie") = ""
%>
<html>
<head>
<title>Eliminazione di un cookie</title>
</head>
<body>
Il cookie è stato eliminato!
</body>
</html>