Seite 1 von 2
[PHP] Cookie der niemals abläuft
Verfasst: 23.09.2007 21:43
von Fluid Byte
Man muss mit SetCookie() eine Zeit angeben wann der Cookie abläuft / verfällt sonst wird er nach beenden der Session / schließen des Browsers automatisch wieder gelöscht. Das ist zumindest auf dem Server wo meine Seite liegt so bzw. mit meiner PHP Version / Konfiguration. Meine Frage ist ob es da sowas wie nen Flag gibt. Wie bspw. #PB_Ignore in PB anstatt eine utpoische Ablaufzeit mit time() zusammenzuschrauben.
Im Moment mache ich es folgendermaßen:
Code: Alles auswählen
setcookie("mycookie","wert",time() + 60 * 60 * 24 * 30)
Wären 30 Tage, sieht aber unschön aus bzw. is mir zu umständlich.
Verfasst: 23.09.2007 22:22
von AND51
Es gibt keine andere Möglichkeit als ein "utopisches Datum" anzugeben.
Aber eventuell, ich kenne mich in PHP nicht aus, kann man die Schreibweise ja verkürzen, so PB-like?
Das wäre (vom jetzigen Zeitpunkt aus gesehen) im Jahr 2016, was meiner Meinung nach dicke reicht.
Ist diese Verkürzung nicht schon mal besser als die lange Schreibweise?
Alternativ habe ich mit PB die Zahl
1924127999 ermittelt, was 31. 12. 2030 23:59:59 entpricht. Gerundet wäre das 2 Mrd (2x10^9), was 18. 5. 2033 3:33:20 entspricht. 2 Mrd. kann man sich och gut merken und schnell tippen!
Kaum ein User wird ein Cookie 9 Jahre lang auf seinem Rechner haben - so hoch ist die Lebenserwartung eines Cookies nicht. Denn Internet-Anonymisierer, AntiVirenprogramme und die Cache-Lösch-Funktion sind nur einige der
natürlichen Feinde eines Cookies.
So komme ich zu dem Schluss, dass ein "utopisches Datum" an Stelle eines
#PB_Ignore für Cookies ausreicht.
Verfasst: 23.09.2007 22:30
von STARGÅTE
das reicht völlig, da der Coockie jetzt bis zum ende der Zeitrechnung hält
@AND51 : ein $ macht aus einer Zeichenkette eine Variable und keine HEX-Zahl, für später mal
Verfasst: 23.09.2007 22:34
von AND51
Ah ok... Werd dran denken, wenn ich mit PHP anfange!

Verfasst: 23.09.2007 22:42
von STARGÅTE
da fällt mir gerade ein, das ja eine INT zur hälfte aus -Werten besteht.
Also wäre das hier die Lösung ^^
ansonsten halt mal beide testen ^^
Verfasst: 24.09.2007 11:45
von Fluid Byte
@STARGÅTE:
Du hast das Hex Prefix "0x" vergessen.

Verfasst: 24.09.2007 13:09
von STARGÅTE
wieso?
das hier geht doch:
<?php
echo hexdec(FF);
echo '<br>';
echo dechex(255);
?>
ergebnis:
255
FF
Verfasst: 24.09.2007 14:27
von Fluid Byte
Schon klar aber PHP muss ja wissen das du einen Hexwert übergibst. Egal ob mit Funktion oder Prefix.
Das hier
funktioniert nicht. Sondern es muss so aussehen:
oder so
Verfasst: 24.09.2007 14:40
von STARGÅTE
ach so ok

Verfasst: 24.09.2007 14:47
von Fluid Byte
Na schön das Spaß hast! LMAO!
