[PHP] Cookie der niemals abläuft

Fragen zu allen anderen Programmiersprachen.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

[PHP] Cookie der niemals abläuft

Beitrag 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.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag 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?

Code: Alles auswählen

setcookie("Prinzenrolle", "Keks", time()+$FFFFFFF)
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.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

Code: Alles auswählen

setcookie($var, $Wert, FFFFFFFF)
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
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Ah ok... Werd dran denken, wenn ich mit PHP anfange! :allright:
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag 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 ^^

Code: Alles auswählen

setcookie($var, $Wert, 7FFFFFFF)
ansonsten halt mal beide testen ^^
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

@STARGÅTE:

Du hast das Hex Prefix "0x" vergessen. :wink:
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

:?

wieso?

das hier geht doch:
<?php

echo hexdec(FF);
echo '<br>';
echo dechex(255);

?>
ergebnis:
255
FF
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Schon klar aber PHP muss ja wissen das du einen Hexwert übergibst. Egal ob mit Funktion oder Prefix.

Das hier

Code: Alles auswählen

<?php
	$Result = 256 + FF;
	echo $Result;
?>
funktioniert nicht. Sondern es muss so aussehen:

Code: Alles auswählen

<?php
	$Result = 256 + hexdec(FF);
	echo $Result;
?>
oder so

Code: Alles auswählen

<?php
	$Result = 256 + 0xFF;
	echo $Result;
?>
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

ach so ok
:lol:
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Na schön das Spaß hast! LMAO! :mrgreen:
Windows 10 Pro, 64-Bit / Outtakes | Derek
Antworten