ASP Cookie

Il cookie viene spesso utilizzato per identificare gli utenti.

Esempio

Cookie di benvenuto
Come creare un cookie di benvenuto.

Cos'è un Cookie?

Il cookie viene spesso utilizzato per identificare gli utenti. Un cookie è un piccolo file che il server lascia nel computer dell'utente. Ogni volta che lo stesso computer richiede una pagina tramite il browser, il computer invia anche il cookie. Attraverso ASP, è possibile creare e recuperare il valore del cookie.

Come creare un cookie?

"Response.Cookies" è un comando utilizzato per creare cookie.

Attenzione:Il comando Response.Cookies deve essere collocato prima del tag <html>.

Nel seguente esempio, creeremo un cookie chiamato "firstname" e gli assegniamo il valore "Alex":

<%
Response.Cookies("firstname")="Alex"
%>

È anche possibile assegnare attributi ai cookie, ad esempio impostare la data di scadenza del cookie:

<%
Response.Cookies("firstname")="Alex" 
Response.Cookies("firstname").Expires=#May 10,2020#
%>

Come recuperare i valori dei cookie?

"Request.Cookies" è un comando utilizzato per recuperare i valori dei cookie.

Nel seguente esempio, abbiamo recuperato il valore del cookie chiamato "firstname" e lo abbiamo visualizzato sulla pagina:

<%
fname=Request.Cookies("firstname")
response.write("Firstname=" & fname)
%>

Output:

Firstname=Alex

Cookie con chiavi

Se un cookie contiene una raccolta di valori, possiamo dire che il cookie ha chiavi (Keys).

Nel seguente esempio, creeremo un insieme di cookie chiamato "user". Il cookie "user" contiene chiavi che contengono informazioni dell'utente:

<%
Response.Cookies("user")("firstname")="John"
Response.Cookies("user")("lastname")="Adams"
Response.Cookies("user")("country")="UK"
Response.Cookies("user")("age")="25"
%>

Leggi tutti i cookie

Leggi il codice seguente:

<%
Response.Cookies("firstname")="Alex"
Response.Cookies("user")("firstname")="John"
Response.Cookies("user")("lastname")="Adams"
Response.Cookies("user")("country")="UK"
Response.Cookies("user")("age")="25"
%>

Supponiamo che il server invii tutti questi cookie a un utente.

Ora, dobbiamo leggere questi cookie. Ecco un esempio che mostra come farlo (notare che il codice utilizza HasKeys per verificare se il cookie ha chiavi):

<html>
<body>
<%
dim x,y
 for each x in Request.Cookies
  response.write("<p>")
  if Request.Cookies(x).HasKeys then
    for each y in Request.Cookies(x)
      response.write(x & ":" & y & "=" & Request.Cookies(x)(y))
      response.write("<br />")
    next
  else
    Response.Write(x & "=" & Request.Cookies(x) & "<br />")
  end if
  response.write "</p>"
next
%>
</body>
</html>

Output:

firstname=Alex
user:firstname=John
user:lastname=Adams
user:country=UK
user:age=25

Come affrontare i browser che non supportano i cookie?

Se la tua applicazione deve interagire con browser che non supportano i cookie, devi utilizzare altri metodi per passare informazioni tra le pagine della tua applicazione. Ci sono due metodi:

1. Aggiungi parametri all'URL

Puoi aggiungere parametri all'URL:

<a href="welcome.asp?fname=John&lname=Adams">
Vai alla Pagina di Benvenuto
</a>

Poi recupera questi valori in un file simile a questo "welcome.asp":

<%
fname=Request.querystring("fname")
lname=Request.querystring("lname")
response.write("<p>Hello " & fname & " " & lname & "!</p>")
response.write("<p>Welcome to my Web site!</p>")
%>

2. Utilizza il modulo

Puoi anche utilizzare il modulo. Quando l'utente fa clic sul pulsante Invia, il modulo invierà i dati inseriti all'"welcome.asp":

<form method="post" action="welcome.asp">
Nome:  <input type="text" name="fname" value="">
Cognome: <input type="text" name="lname" value="">
<input type="submit" value="Submit">
</form>

Poi in il file "welcome.asp", recupera questi valori, come segue:

<%
fname=Request.form("fname")
lname=Request.form("lname")
response.write("<p>Hello " & fname & " " & lname & "!</p>")
response.write("<p>Welcome to my Web site!</p>")
%>