ASP -Cookies


Ein Cookie wird häufig verwendet, um einen Benutzer zu identifizieren.


Mehr Beispiele


So erstellen Sie ein Willkommens-Cookie.


Was ist ein Cookie?

Ein Cookie wird häufig verwendet, um einen Benutzer zu identifizieren. Ein Cookie ist eine kleine Datei, die der Server auf dem Computer des Benutzers einbettet. Jedes Mal, wenn derselbe Computer eine Seite mit einem Browser anfordert, sendet er auch das Cookie. Mit ASP können Sie Cookie-Werte sowohl erstellen als auch abrufen.


Wie erstelle ich ein Cookie?

Der Befehl „Response.Cookies“ wird verwendet, um Cookies zu erstellen.

Hinweis: Der Befehl Response.Cookies muss VOR dem Tag <html> angezeigt werden.

Im folgenden Beispiel erstellen wir ein Cookie mit dem Namen „firstname“ und weisen ihm den Wert „Alex“ zu:

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

Es ist auch möglich, einem Cookie Eigenschaften zuzuweisen, wie z. B. das Festlegen eines Datums, an dem das Cookie ablaufen soll:

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

Wie rufe ich einen Cookie-Wert ab?

Der Befehl "Request.Cookies" wird verwendet, um einen Cookie-Wert abzurufen.

Im folgenden Beispiel rufen wir den Wert des Cookies mit dem Namen "firstname" ab und zeigen ihn auf einer Seite an:

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

Ausgabe: Vorname=Alex



Ein Keks mit Schlüsseln

Wenn ein Cookie eine Sammlung mehrerer Werte enthält, sagen wir, dass das Cookie Schlüssel hat.

Im folgenden Beispiel erstellen wir eine Cookie-Sammlung mit dem Namen „Benutzer“. Das „Benutzer“-Cookie enthält Schlüssel, die Informationen über einen Benutzer enthalten:

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

Lesen Sie alle Cookies

Sehen Sie sich den folgenden Code an:

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

Angenommen, Ihr Server hat alle oben genannten Cookies an einen Benutzer gesendet.

Jetzt wollen wir alle an einen Benutzer gesendeten Cookies lesen. Das folgende Beispiel zeigt, wie es geht (beachten Sie, dass der folgende Code prüft, ob ein Cookie Schlüssel mit der HasKeys-Eigenschaft hat):

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

Ausgabe:

vorname=Alex

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


Was ist, wenn ein Browser KEINE Cookies unterstützt?

Wenn Ihre Anwendung mit Browsern arbeitet, die keine Cookies unterstützen, müssen Sie andere Methoden verwenden, um Informationen von einer Seite zur anderen in Ihrer Anwendung zu übertragen. Dazu gibt es zwei Möglichkeiten:

1. Parameter zu einer URL hinzufügen

Sie können einer URL Parameter hinzufügen:

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

Und rufen Sie die Werte in der Datei "welcome.asp" wie folgt ab:

<%
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. Verwenden Sie ein Formular

Sie können ein Formular verwenden. Das Formular übergibt die Benutzereingabe an "welcome.asp", wenn der Benutzer auf die Schaltfläche "Senden" klickt:

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

Rufen Sie die Werte in der Datei "welcome.asp" wie folgt ab:

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