ASP Cookie

Cookie bruges ofte til at identificere brugere.

Eksempel

Velkomstcookie
Sådan oprettes en velkomstcookie.

Hvad er en Cookie?

Cookie bruges ofte til at identificere brugere. Cookie er en lille fil, som serveren efterlader på brugerens computer. Hver gang samme computer anmoder om en side via en browser, sender den også en cookie. Ved hjælp af ASP kan du oprette og hente værdien af en cookie.

Hvordan oprettes en cookie?

"Response.Cookies"-kommandoen bruges til at oprette cookier.

Bemærk:Kommandoen Response.Cookies skal placeres før <html>-tagget.

I nedenstående eksempel opretter vi en cookie med navnet "firstname" og tildeler værdien "Alex":

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

Det er også muligt at tildele egenskaber til cookie, f.eks. at sætte udløbsdatoen for cookien:

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

Hvordan henter man værdien af en cookie?

"Request.Cookies"-kommandoen bruges til at hente værdien af cookien.

I nedenstående eksempel henter vi værdien af cookien med navnet "firstname" og viser værdien på siden:

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

Udskrivning:

Firstname=Alex

Cookie med nøgler

Hvis en cookie indeholder en samling af flere værdier, kan vi sige, at cookien har nøgler (Keys).

I nedenstående eksempel opretter vi en cookie-samling med navnet "user". "user"-cookie har nøgler, der indeholder brugerinformationer:

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

Læs alle cookier

Læs nedenstående kode:

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

Antag, at din server sender alle disse cookier til en bruger.

Nu skal vi læse disse cookier. Her er et eksempel på, hvordan du gør det (bemærk, at nedenstående kode bruger HasKeys til at kontrollere, om cookier har nøgler):

<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>

Udskrivning:

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

Hvordan håndterer man browsere, der ikke understøtter cookier?

Hvis din applikation skal håndtere browsere, der ikke understøtter cookier, skal du bruge andre metoder til at overføre information mellem siderne i din applikation. Der er to måder at gøre det på:

1. Tilføj parametre til URL'en

Du kan tilføje parametre til URL'en:

<a href="welcome.asp?fname=John&lname=Adams">
Gå til velkomstside
</a>

Så henter du disse værdier i en fil som denne "welcome.asp", sådan her:

<%
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. Brug af formular

Du kan også bruge en formular. Når brugeren klikker på submit-knappen, sender formularen brugerens inputdata til "welcome.asp":

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

Så henter du disse værdier i "welcome.asp"-filen, sådan her:

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