Kann mir jemand erklären, wieso dieser PHP script meine Cookies löscht(Siehe Bild)?

...komplette Frage anzeigen php - (PHP, Cookies)

2 Antworten

Ich würde die Laufzeit des Cookies auf mindestens time()+86400 setzen, also einen Tag, vielleicht hast du sonst Ärger mit einer fehlkonfigurierten Zeitzonen-Einstellung.

Außerdem ist der zweite Parameter von setcookie() eine leere Zeichenkette. Vermutlich werden die Daten in dem Cookie damit überschrieben.

Schau in die Dokumentation:

Hat der Parameter den Wert 0 oder ist er nicht gesetzt, verfällt das Cookie am Ende der Session (wenn der Browser geschlossen wird).

( http://php.net/manual/de/function.setcookie.php , 2017-12-03T01:18+01:00 )

Um ein Cookie direkt zu löschen, setzt man das Verfallsdatum in die Vergangenheit, z.B. auf time() - 3600, was den Mechanismus zum Löschen von Cookies im Browser auslöst.

Ja, aber wenn ich die Zeit auf über 0 setze also zb 1000 wird er trotzdem gelöscht wieso??

0
@xBlackMass

Weil die Zeit nicht relativ ist, sondern absolut als Unix-Timestamp, d.h. die Anzahl der Sekunden seit dem 01.01.1970, angegeben wird. Du musst also, damit das Cookie nicht gelöscht wird, das Verfallsdatum auf time() + dauer setzen, z.B. auf time() + 60 für eine Minute.

1

Was möchtest Du wissen?