1 ASP Cookies|Artikel|Projekt OsUp

ASP Cookies


Cookies können gebraucht werden, um einen Besucher zu identifizieren.


Wie erstellt man ein Willkommen's Cookie?


Was ist ein Cookie?

Es ist eine kleine Text Datei, welche auf dem Besucher Computer gespeichert wird. Jedesmal wenn der Browser an einen Server eine Anfrage sendet, werden die Cookies mitgesandt. Aber natürlich nur Cookies, welche auch von diesem Server erstellt wurden.

Mit ASP, können sie Cookies erstellen und den Wert des Cookies abfragen.


Wo wird ein Cookie gespeichert?

Je nachdem welcher Browser verwendet wird:
Beim Internet Explorer gibt es ein Verzeichnis mit dem Namen <Cookies>. Beim Netscape gibt es eine Datei mit dem Namen <Cookies.txt>.


Wie erstellt man ein Cookie

Die "Response.Cookies" Anweisung erstellt ein Cookie:

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

In diesem Beispiel, erzeugen wir ein Cookie mit dem Namen "vorname" und weisen ihm den Wert "Alex" zu.

Beachte: Die Response.Cookies Anweisung muss vor dem ersten <html> Tag stehen.

Es ist auch möglich einige Eigenschaften dem Cookie zu zuweisen, wie z.B. wann ein Cookie ausläuft:

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

Jetzt hat das Cookie "vorname" den Wert "Alex", und es läuft auf dem Computer des Besucher aum 10. Mai 2003 aus.

Beachte: Ohne Ablaufdatum (Expires) wird das Cookie am Ende der Session gelöscht!


Wie erhält man den Wert eines Cookies

Die "Request.Cookies" Anweisung wird gebraucht um den Wert eines Cookies zu bekommen.

In diesem Beispiel unterhalb, erhalten wir den Wert vom Cookie "vorname" und zeigen in auf der Seite an:

<%
fname=Request.Cookies("vorname")
response.write("Vorname=" & fname)
%>


Ausgabe:

Vorname=Alex


Ein Cookie mit mehreren Werten (Keys)

Ein Cookie kann auch mehrere Werte besitzen. Man nennt das: Ein Cookie hat eine Sammlung von Werten.

In diesem Beispiel unterhalb erstellen wir ein Cookie mit dem Namen "User" mit einer Sammlung von Werten. Das "User" Cookie enhält verschiedene Informationen über einen Besucher:

<%
Response.Cookies("user")("vorname")="Hans"
Response.Cookies("user")("nachname")="Muster"
Response.Cookies("user")("land")="Schweiz"
Response.Cookies("user")("alter")="25"
%>


Alle Cookies lesen

Das Beispiel unterhalb liest alle Cookies, welche von ihrem Server zum Besucher gesandt wurden. Beachte: Dieses Script überprüft, ob ein Cookie eine Sammlung von Werten besitzt oder nicht:

<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:vorname=Hans
user:nachname=Muster
user:land=Schweiz
user:alter=2



Wenn ein Browser Cookies nicht unterstützt?

Wenn ihre Applikation mit Browsern zu tun hat, die Cookies nicht unterstützen, gibt es andere Methoden um Informationen von einer Seite zur anderen weiter zu geben. Es gibt zwei Möglichkeiten:

1. Parameter an die URL anhängen

Parameter an die URL anhängen, wie dies:

<a href="greeting.asp?vname=Hans&nname=Muster">
Gehe zur Willkommens Seite</a>

und erhalten den Wert (in der Datei greeting.asp):

<%
vname=Request.querystring("vname")
nname=Request.querystring("nname")
response.write("<p>Hello " & vname & " " & nname & "!</p>")
response.write("<p>Willkommen auf meiner Web site!</p>")
%>

2. Mit einem Formular

Die Formular Informationen werden gelesen und an die Datei greeting.asp weitergeleitet, nachdem der Besucher den Knopf Senden gedrückt hat: 

<form method="post" action="greeting.asp">
Vorname: <input type="text" name="vname" value="">
Nachname: <input type="text" name="nname" value="">
<input type="submit" value="Senden">
</form>

Die Werte werden wie folgt erhalten (in der Datei greeting.asp):

<%
vname=Request.form("vname")
nname=Request.form("nname")
response.write("<p>Hello " & vname & " " & nname & "!</p>")
response.write("<p>Willkommen auf meiner Web site!</p>")
%>

Sie k?nnen keine Kommentare abgeben!