Biscotti ASP


Un cookie viene spesso utilizzato per identificare un utente.


Altri esempi


Come creare un cookie di benvenuto.


Cos'è un cookie?

Un cookie viene spesso utilizzato per identificare un utente. Un cookie è un piccolo file che il server incorpora nel computer dell'utente. Ogni volta che lo stesso computer richiede una pagina con un browser, invierà anche il cookie. Con ASP, puoi creare e recuperare i valori dei cookie.


Come creare un cookie?

Il comando "Response.Cookies" viene utilizzato per creare i cookie.

Nota: il comando Response.Cookies deve essere visualizzato PRIMA del tag <html>.

Nell'esempio seguente, creeremo un cookie chiamato "firstname" e gli assegneremo il valore "Alex":

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

È anche possibile assegnare proprietà a un cookie, come impostare una data di scadenza del cookie:

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

Come recuperare un valore del cookie?

Il comando "Request.Cookies" viene utilizzato per recuperare il valore di un cookie.

Nell'esempio seguente, recuperiamo il valore del cookie denominato "firstname" e lo visualizziamo su una pagina:

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

Output: Nome=Alex



Un biscotto con le chiavi

Se un cookie contiene una raccolta di più valori, diciamo che il cookie ha delle chiavi.

Nell'esempio seguente, creeremo una raccolta di cookie denominata "utente". Il cookie "utente" ha chiavi che contengono informazioni su un utente:

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

Leggi tutti i cookie

Guarda il seguente codice:

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

Supponiamo che il tuo server abbia inviato tutti i cookie di cui sopra a un utente.

Ora vogliamo leggere tutti i cookie inviati a un utente. L'esempio seguente mostra come farlo (si noti che il codice seguente controlla se un cookie ha chiavi con la proprietà HasKeys):

<!DOCTYPE html>
<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>

Produzione:

nome=Alex

user:firstname=John
user:lastname=Smith
user:country=Norway
user:age=25


Cosa succede se un browser NON supporta i cookie?

Se la tua applicazione gestisce browser che non supportano i cookie, dovrai utilizzare altri metodi per passare le informazioni da una pagina all'altra della tua applicazione. Ci sono due modi per farlo:

1. Aggiungi parametri a un URL

Puoi aggiungere parametri a un URL:

<a href="welcome.asp?fname=John&lname=Smith">Go to Welcome Page</a>

E recupera i valori nel file "welcome.asp" in questo modo:

<%
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. Utilizzare un modulo

Puoi usare un modulo. Il modulo passa l'input dell'utente a "welcome.asp" quando l'utente fa clic sul pulsante Invia:

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

Recupera i valori nel file "welcome.asp" in questo modo:

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