ASP Cookie

Cookie används ofta för att känna igen användare.

Exempel

Välkomnande cookie
Hur skapar man en välkomnande cookie.

Vad är en Cookie?

Cookie används ofta för att känna igen användare. Cookie är en liten fil som servern lämnar kvar på användarens dator. Varje gång samma dator begär en sida via webbläsaren, skickar den också cookie.

Hur skapar man cookies?

"Response.Cookies"-kommandot används för att skapa cookies.

Observera:Kommandot Response.Cookies måste placeras innan <html>-taggen.

I följande exempel skapar vi en cookie med namnet "firstname" och tilldelar den värdet "Alex":

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

Det är också möjligt att tilldela egenskaper till cookies, till exempel att sätta cookiens utgångstid:

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

Hur hämtar man cookie-värden?

"Request.Cookies"-kommandot används för att hämta cookie-värden.

I följande exempel hämtar vi värdet för cookie-namnet "firstname" och visar det på sidan:

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

Uppgiften:

Firstname=Alex

Cookies med nycklar

Om en cookie innehåller en samling av flera värden, kan vi säga att cookie har nycklar (Keys).

I följande exempel skapar vi en cookie-uppsättning med namnet "user". "user"-cookie har nycklar som innehåller användarinformation:

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

Läs alla cookies

Läs nedanstående kod:

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

Anta att din server har skickat alla dessa cookies till en användare.

Nu behöver vi läsa dessa cookies. Här är ett exempel som visar hur du gör detta (observera att nedanstående kod kommer att använda HasKeys för att kontrollera om cookies har nycklar):

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

Uppgiften:

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

Hur hanterar man webbläsare som inte stöder cookies?

Om ditt program behöver hantera webbläsare som inte stöder cookies, måste du använda andra metoder för att överföra information mellan sidor i ditt program. Det finns två sätt att göra detta:

1. Lägg till parametrar till URL:en

Du kan lägga till parametrar till URL:en:

<a href="welcome.asp?fname=John&lname=Adams">
Gå till välkomstsidan
</a>

Då hämtar du dessa värden i en fil som liknar följande "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. Använd formulär

Du kan också använda formulär. När användaren klickar på submit-knappen, skickar formuläret användarens inmatade data till "welcome.asp":

<form method="post" action="welcome.asp">
Förnamn:  <input type="text" name="fname" value="">
Efternamn: <input type="text" name="lname" value="">
<input type="submit" value="Submit">
</form>

Då hämtar du dessa värden i filen "welcome.asp", precis som detta:

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