Problem: Cookies löschen

shorty

Erfahrenes Mitglied
Guten Abend,

ich habe ein Problem mit Cookies:

Und zwar möchte ich auf meiner neuen Homepage mit Cookies arbeiten und sie ebenfalls löschen können. Um Cookies zu löschen, muss man bekanntlich das Cookie überschreiben, in dem man die Zeit auf 0 bzw. auf eine negative Zeit stellt. Wenn ich nun das Skript ausführen, wird mein Cookie jedoch nicht überschrieben und ich kann einfach nicht sagen, weshalb es so ist. Ich habe zum Test schon den Browser kommplett geschlossen bzw.mir das Cookie ausgeben lassen, aber es wird nicht überschrieben.

Mein Skript für den Logoutvorgang sieht folgendermaßen aus:

PHP:
if($_GET["action"] == "logout") {
	
	if(setcookie("testcookie", "", time() - 3600, "")) {
		
		session_destroy();
		session_unset();
		echo "Cookie überschrieben.";
		
		print_r($_COOKIE);
		
	}
	
}

Habt ihr diesbezüglich einen Lösungsvorschlag?

Danke schonmal im Voraus für alle Antworten.
 
eigentlich müsste es so schon gehen. lass vielleicht den 4. parameter ganz weg, also:
PHP:
setcookie ("testcookie", "", time() - 3600);
 
Das habe ich bereits gestest, jedoch ohne Erfolg...

EDIT:
Habe das Problem gelöst. Ich befand mich im falschen Verzeichnis und hatte das Cookie für die gesamte Domäne gespeichert. Nun klappt alles, aber vielen Dank für den Lösungsvorschlag.
 
Zuletzt bearbeitet:
Was für ein Cookie setzt du denn?
Ich würde übrigens bei einem Logout die Session auch zerstören, wenn das Cookie nicht gesetzt wird. Wenn jemand Cookies deaktiviert, kann er sich ja gar nicht ausloggen ;)
 
probiers mal mit dem hier, vielleicht klappt ja das:
PHP:
setcookie("testcookie", "null", time() + 0, '/');

das hab ich bei meinem logout drin :)

_______________________________________________
Edit: Ich mag es ja nicht, wenn beim antworten der frage, die antwort schon früher kommt oder es selbst gelöst wurde :)
 
Nach setcookie() muss erstmal die Seite neu geladen werden damit die Aenderung wirksam wird.
setcookie() hat ja keine Auswirkung auf das Array $_COOKIE sondern sorgt nur dafuer, dass die entsprechenden Informationen im Header der Antwort gesendet werden.
Beim naechsten Aufruf werden diese Informationen (falls der Cookie nicht abgelaufen ist, was ja hier beim Loeschen bewirkt wird) vom Browser wieder an den Server geschickt und erst dann sind die Aenderungen verfuegbar.
 
Zurück