Hallo,
nach 2 Stunden Bastelei drehe ich langsam am Rad:
Ich möchte mit setcookie einen Cookie setzen, der auch über die Dauer der Sitzung hinaus gültig bleibt (wie lange ist hier erstmal egal).
Ich habe also folgenden Code geschrieben:
Das sollte eigentlich einen Cookie setzen, der genau eine Stunde gültig ist.
Wenn ich die entsprechende Seite jedoch aufrufe und mir dann im Browser (ich benutze den FireFox 1.0.7) unter "Extras|Einstellungen|Datenschutz|Cookies" den entsprechenden Cookie anschaue, so wird er auch gesetzt.
Name und Wert werden korrekt gesetzt und so lange die Session läuft, kann ich auch darauf zugreifen.
Trotzdem wird der Cookie am Ende der Sitzung sofort wieder gelöscht: Unter "Gültig bis" wird immer "Am Ende der Sitzung" angegeben.
Es kann also nicht daran liegen, dass der Cookie nicht mehr gesetzt werden kann, weil bereits ein Header gesendet wurde, denn innerhalb der Session kann ich ja auf den Wert zugreifen.
Ich habe auch das Error-Reporting auf 'E_ALL' gesetzt und erhalte keine Fehler oder Warnungen.
Im selben Projekt setze ich Cookies per JavaScript und das funktioniert wunderprächtig.
Statt mit 'time()+3600' habe ich auch mal versucht, mit 'mktime(0, 0, 0, 1, 1, 2006)' das Ablaufdatum direkt zu setzen: ohne Erfolg.
Ich habe schon das ganze Forum durchsucht und auch gegooglet: ohne Ergebnis.
Entweder stehe ich total auf dem Schlauch und ich übersehe etwas Grundsätzliches oder irgendetwas funktioniert auf meinem Server nicht richtig.
Hat irgendwer Ideen, woran es liegen könnte?
nach 2 Stunden Bastelei drehe ich langsam am Rad:
Ich möchte mit setcookie einen Cookie setzen, der auch über die Dauer der Sitzung hinaus gültig bleibt (wie lange ist hier erstmal egal).
Ich habe also folgenden Code geschrieben:
Code:
setCookie($this->namespace."_".$param, $this->parameter[$param], time()+3600, "/");
Wenn ich die entsprechende Seite jedoch aufrufe und mir dann im Browser (ich benutze den FireFox 1.0.7) unter "Extras|Einstellungen|Datenschutz|Cookies" den entsprechenden Cookie anschaue, so wird er auch gesetzt.
Name und Wert werden korrekt gesetzt und so lange die Session läuft, kann ich auch darauf zugreifen.
Trotzdem wird der Cookie am Ende der Sitzung sofort wieder gelöscht: Unter "Gültig bis" wird immer "Am Ende der Sitzung" angegeben.
Es kann also nicht daran liegen, dass der Cookie nicht mehr gesetzt werden kann, weil bereits ein Header gesendet wurde, denn innerhalb der Session kann ich ja auf den Wert zugreifen.
Ich habe auch das Error-Reporting auf 'E_ALL' gesetzt und erhalte keine Fehler oder Warnungen.
Im selben Projekt setze ich Cookies per JavaScript und das funktioniert wunderprächtig.
Statt mit 'time()+3600' habe ich auch mal versucht, mit 'mktime(0, 0, 0, 1, 1, 2006)' das Ablaufdatum direkt zu setzen: ohne Erfolg.
Ich habe schon das ganze Forum durchsucht und auch gegooglet: ohne Ergebnis.
Entweder stehe ich total auf dem Schlauch und ich übersehe etwas Grundsätzliches oder irgendetwas funktioniert auf meinem Server nicht richtig.
Hat irgendwer Ideen, woran es liegen könnte?
Kommentar