Der Martin: Cookies löschen

Beitrag lesen

Hi,

// Cookie für den Warenkorb eines Users anlege
if (!isset($_COOKIE['warenkorbId']))
    {
        setcookie("warenkorbId", uniqid(), time()+86400);
        $userWarenkorbID = $_COOKIE["warenkorbId"];
    } else {
        $userWarenkorbID = $_COOKIE["warenkorbId"];
    }

in dieser Abfrage hast du ein Logikproblem: Erst fragst du ab, ob $_COOKIE["warenkorbId"] nicht existiert. Wenn es tatsächlich nicht existiert (also im if-Zweig), dann weist du diesen nicht existierenden Wert an $userWarenkorbID zu. Denn dass setcookie() nichts ins $_COOKIE-Array schreibt, hat dedlfix ja schon ausführlich erläutert. Dort steht die Information erst beim nächsten Request.

Und selbst wenn es von der Logik richtig wäre: Du hast im if- und im else-Zweig dieselbe Anweisung. Die könntest du also auch aus dem if-Konstrukt rausziehen und dahinter notieren.

So long,
 Martin