Cookies lesen, schreiben, ...

Schkal

Grünschnabel
Sers,

Ich brauche Hilfe Wer kann mir sagen, wie und ob ich von einer einzigen Webpage aus [z.B. test.asp] mehrere Cookies setzen kann. Das "Verfallsdatum" dieser müsste verschieden sein [also nicht mehrere Daten in EIN cookie speichern].

Folgendes habe ich schon:

Response.Cookies ("Name1") = "Inhalt1"
Response.Cookies ("Name1").path = "/test1"
Response.Cookies ("Name1").Expires = date() + 1

Response.Cookies ("Name2") = "Inhalt2"
Response.Cookies ("Name2").path = "/test2"
Response.Cookies ("Name2").Expires = date() + 7

nun kann ich die Cookies aber von einer zweiten Seite aus nicht mehr lesen [glaube Path - Attribut nicht richtig oder so...].

Hoffe auf unterstützung...
 
Hallo,

schreiibe leider erst jetzt. Ich hoffe es interessiert dich noch.

Versuche einmal die Path-Eigenschaft so zu setzen.
Code:
Response.Cookies ("Name1").path = "\test1"

Beziehungsweise, lass sie einmal einfach weg, diese Eigenschaft ist ja nur optional.

Ausserden würde ich die Manipulation des Datums/der Uhrzeit anders gestalten.
Und zwar mit der dateadd-Methode:

Code:
dateadd(string, int, datum/uhrzeit)

Das erste Argument ist ein String der angibt, was verändert werden soll (Minuten, Stunden, Jahre,..), der zweite gibt den Wert an um wieviel verändert werden soll, und der letzte ist die Ausgangszeit/das Ausgangsdatum.

Tabelle der möglichen Strings
Code:
yyyy	»	Jahr
q	»	Quartal
m	»	Monat
y	»	Tag im Jahr
d	»	Tag
w	»	Wochentag
ww	»	Kalenderwoche
h	»	Stunde
n	»	Minute
s	»	Sekunde

Code:
Response.Write( dateadd(d, 1, NOW))
Dies sollte immer das morgige Datum ausgeben, mit der aktuellen Uhrzeit.


Mfg,
Alex
 
...

Ich MUSS die Path Eigenschaft setzen, da es sonst nicht möglich ist [oder?] von einer einzigen Seite aus 2 oder mehrere Cookies zu erstellen [sonst wird immer alles in das selbe Cookie geschrieben]. Ich brauchen aber mehrere Cookies, da ich das "Verfallsdatum" verschieden setzen muss [einmal 1 Tag, einmal 1 Wochen, einmal 1 Monat]...
Danke für deine bisherige Antwort...
 
Original geschrieben von Schkal
Weil das von einer EINZIGEN .asp Seite aus nicht geht... [Hab ich auch nicht gewusst bevor ichs probiert habe...]

Guten Morgen,

habe gerade einen kleinen netten Test gemacht, da ich nicht glauben wollte, dass man von einem Script aus nicht 2 verschiedene Cookies mit 2 verschiedenen Expire-Zeiten setzen kann.

Test1.asp
Code:
<%

Response.Cookies("ct1") = "huhu"
Response.Cookies("ct1").Expires = dateadd("n", 2, NOW)

Response.Cookies("ct2") = "huhu2"
Response.Cookies("ct2").Expires = dateadd("n", 25, NOW)

%>

Test2
Code:
<%
Response.Write(Request.Cookies("ct1") & "<br>")
Response.Write(Request.Cookies("ct2"))
%>

Dies sind die beiden Testscripts. Beim Ersten werden 2 Cookies mit unterschiedlichen Expire Zeiten gesetzt (2, und 25 Minuten).
Bei Testscript 2 werden diese 2 Cookies ausgegeben.
Wenn man nun diese 2 Scripts hintereinander aufruft, werden wie erwartet beide Cookies ausgegeben, wartet man jedoch > 2 Minuten, existiert nur noch das 2te Cookies und deswegen wird auch nur "huhu2" ausgegeben.

Und da sag mir noch einer, man kann nicht 2 Cookies (mit versch. Expire Zeiten) von einer Seite aus setzen.


Mfg,
Alex
 
Zurück