unset - array unter php4 / php5

der_kaepten

Grünschnabel
Hallo zusammen,
ich habe folgendes Problem und hoffe jemand von Euch hat eine Idee zur Lösung.
Ich arbeite lokal mit php5 (win XP, xampp), auf dem Internet-Server mit suse-linux 9 und php 4.
Es werden Cookies erstellt und Werte in einem Array innerhalb der Cookies mit "unset" gelöscht. Dieses läuft lokal wunderbar ohne Problem, nur auf dem Internet-Server wird der "unset" nicht ausgeführt.
Es werden Daten in den Cookie geschrieben/aktualisiert - kann also kein Rechte-Problem sein.
Bin jetzt mit meinem Latein, ähh php, am Ende. hat jemand eine Idee?

Vielen Dank
tschüss
der_kaepten
 
Hab ich dich richtig verstanden, dass du mit unset() versuchst Cookies zu löschen? Das ist meies Wissens nach nicht möglich.

hab ich es falsch verstanden, dann bitte nochmals etwas genauer (für die ganz Dummen hier ^^)
 
Mit unset() kann nur lokal die Variable, in der die Cookie-Daten gespeichert sind, gelöscht werden. Der Cookie selbst existiert aber noch und wird somit bei der nächsten Anfrage wieder gesendet.
Um den Cookie selbst zu löschen, musst er als ungültig ausgezeichnet werden, in dem ein Cookie desselben Namens mit einem bereits verstrichenen Verfallsdatum gesetzt wird. Bei PHP muss dazu einfach nur der dritte Parameter der setcookie()-Funktion auf 1 oder einen anderen bereits vergangenem Unix-Zeitstempel (außer 0) gesetzt werden.
 
Moin,

sorry, da hab' ich mich wohl unklar ausgedrückt :-(
Ich will nicht den cookie löschen, sondern nur einen Teil eines existierenden Arrays in diesem Cookie.
Quasie: cookie einlesen -> bearbeiten -> Teil löschen -> zurückschreiben

Wenn ich Gumbo richtig verstehe ist dieser Eintrag in der php.ini? Werde ich mir mal angucken.

tschüss
der_kaepten
 
Mit der php.ini hat das ganze nichts zu tun. Schau dir mal die Funktion setcookie() genauer an. Gumbo hat ja schon beschrieben, wie du den Cookie löscht. Um den Inhalt zu verändern, musst du ihn im Prinzip nur neu erstellen. Muss natürlich der gleiche Name sein.
 
Moin,

vielen Dank für Eure Hilfe!
Habe mir jetzt einen Workaround - ohne unset - gebastelt.
Besonders das Studium von diesem Thread (function.unset.php) hat mich dazu veranlasst.
Das läuft jetzt auch wunderbar, sowie unter php4 als auch php5.
Achja und wie? Den array einfach in einen neuen einlesen und den Posten, der gelöscht werden soll überlesen. (zwar primitiv, aber wirkungsvoll ;) )
tschüss
der_kaepten
 
Zurück