EisFuX: Unzulässige Vereinfachungen

Beitrag lesen

Hallo dedlfix,

Du setzt ja keine "Negativ-Zahl", sondern einen Timestamp, der vor "jetzt" liegen sollte. Zumindest der Internet Explorer in den Versionen 5 und 6 soll Probleme mit Timestamps haben, die kleiner als 315532800 sind.

Der Timestamp, den man im Parameter expire angibt, gelangt in der Form nicht zum Client.

Ist mir klar, ich kann ja lesen. ;-)

Er wird automatisch in das im Handbuch angegebene Format (Wdy, DD-Mon-YYYY HH:MM:SS GMT) umgewandelt. Somit kann der IE keine Probleme mit Timestamps haben.

Du hast (wie schon so oft) Recht. Natürlich wäre es korrekter gewesen, statt von einem Timestamp, von einem Datum eines Zeitpunktes, der durch diesen Timestamp repräsentiert wird, zu sprechen. Aber, da man der Funktion setcookie() nun mal nur Timestamp-Werte übergeben kann, und PHP selbst aus ein und demselben Timestamp wohl immer den gleichen Datumsstring produziert, hab ich die Sache eben (unzulässigerweise) vereinfacht. Als PHP-Programmierer kommt man ja mit dem Datumsstring nicht in Berührung, da wollte ich nicht umständlich weit ausholen.

Aber wie sieht es mit den durch den Timestamp repräsentierten Zeiten aus?

Ich habe (vorsichtigerweise) »soll Probleme haben« verwendet. Das impliziert: »Lieber Ausgangsposter, wundere dich nicht, wenn es Probleme mit Zeitpunkten, die vor dem genannten Timestamp liegen, gibt. Wenn du ganz sicher gehen willst, dann prüfe das doch bitte selbst nach.« Wieder unzulässigerweise vereinfacht ...

Ein entsprechender Hinweis stand mal im PHP-Handbuch zu setcookie(). Er wurde aber inzwischen entfernt.

Vermutlich meinst du jenen Kommentar (Daine Mamacos 30-Mar-2005 11:14).

Meinte ich. Ich wusste gar nicht, dass sowas noch online steht. Ich hatte diese veraltete Handbuch-Seite auf meiner Festplatte ...

Ich konnte das dort beschriebene Verhalten mit einem IE 6.0.2800.1106 nicht nachvollziehen. Sowohl mit unwesentlich als auch mit deutlich kleineren Werten verschwand der zuvor erfolgreich gesetzte Keks.

Womit der M$FT IE 6 mit hoher Wahrscheinlichkeit auszuschließen wäre.  Blieben noch die 5-er Versionen ...

Und natürlich wäre da noch die Tatsache, dass man aus solch niedrigen setcookie()-expire-Parametern keinen praktischen Nutzen ziehen kann. Zum »Cookie-Löschen« reicht ja ein "gestern" oder "vor einer Stunde" aus. Allerdings will ich auch niemandem die Experimentierfreude verderben. Wer weiß, wozu das alles gut ist ... ;-)

echo "$verabschiedung $name";

Notice: Undefined variable: verabschiedung in http://forum.de.selfhtml.org/cgi-bin/user/fo_post?fupto=139633%2C907407&a=answer on line 26

Notice: Undefined variable: name in http://forum.de.selfhtml.org/cgi-bin/user/fo_post?fupto=139633%2C907407&a=answer on line 26

MffG
EisFuX