molily: Cookie setzen mit Javascript: Ablaufdatum klappt nicht

Beitrag lesen

Hallo,

Das Schema, um EINEN Cookie zu setzen, ist:

document.cookie = "$name=$wert; domain=$domain; expires=$datum";

$xyz steht hier für eine Variable, einen Platzhalter.

Konkretes Beispiel:

document.cookie = "punkte_1=77; domain=example.org; expires=Thu, 01 Jan 2015 00:00:00 GMT"

Wenn du ein expires setzen willst, musst du es AN DIESER STELLE angeben. Nicht bei einem anderen Cookie.

document.cookie = "Name=TEST; domain="+escape(".test")+"; expires=" + ablauf.toGMTString()+";";

Dies setzt einen Cookie mit dem Namen »Name« und dem Wert »TEST«.
Die Domainangabe ist keine gültige Domain (».test«). Lass sie im Zweifelsfall weg.
Die expires-Angabe gilt für DIESEN Cookie. Sie gilt nicht für deine anderen beiden Cookies.

document.cookie = "punkte_1=77";
document.cookie = "punkte_2=55";

Diese beiden Cookies haben KEINE expires-Angabe.

Ich bekomme hiermit auch die 2 cookies punkte_1 und punkte_2 eingetragen, aber mir wird <Gültig bis: Am Ende der Sitzung> angezeigt

Das war zu erwarten.

obwohl ich 1 Jahr ausgewählt habe.

Nein, du setzt die beiden Cookies punkte_1 und punkte_2 ohne Expires.

Für was setze ich die beiden Parameter Name und domain eigentlich?

Anstatt »Name« musst du den gewünschten Namen des Cookies einsetzen.

Die Domain gibt an, dass der Cookie für eine bestimmte Domain gesetzt wird.

Du kannst die Domain weglassen, dann gilt der Cookie automatisch für die aktuelle Domain.

Die Angabe der Domain ist (nur) dann sinnvoll, wenn du von einer anderen Subdomain auf den Cookie zugreifen willst (z.B. foo.example.org und bar.example.org). Das wäre sonst nämlich nicht möglich.

Grüße
Mathias