Auge: PHP Cookie erst nach Reload

Beitrag lesen

Hallo

ich habe ein Skript für einen Warenkorb, welches das Cookie vom aktuellen Warenkorb speichert. Problem ist, wenn ich nun zum Beispiel die Menge vom Artikel im Warenkorb ändern möchte, wird also zuerst das Cookie geändert und dann soll wieder der "neue" Warenkorb geladen werden. Problem ist, dass noch der "alte" Warenkorn angezeigt wird - erst, nachdem ich die Seite neu geladen habe, wird der neuen Warenkorb angezeigt. An was liegt das?

Das liegt an der Arbeitsweise von Cookies. Wenn du z.B. mit deinem PHP-Script ein Cookie setzt und an den Browser sendest, wird es im Browser gespeichert, steht aber dem Skript selbst in diesem Aufruf nicht zur Verfügung. Im Array $_COOKIE werden Werte gespeichert, die vom Browser bei einem Request mitgesendet wurden, was in diesem Moment aber nicht der Fall war. Entweder du findest in $_COOKIE keine Werte, weil es beim Request noch keines gab oder die Werte des alten, erst während der Ausführung des Skripts geänderten Cookies.

Benutze, wenn nötig, die Werte, die du im Cookie speicherst, direkt. Welche das sind und wann du diese statt der Cookie-Werte nutzen musst, solltest du als programmierer des Skripts ja wissen.

Tschö, Auge

--
Wo wir Mängel selbst aufdecken, kann sich kein Gegner einnisten.
Wolfgang Schneidewind *prust*