Rolf B: Frage zur Sessions mit hidden input

Beitrag lesen

Hallo bjbenderTV,

den Warenkorb in einer SQL Tabelle zu speichern ist eine Möglichkeit, aber nicht unbedingt sinnvoll. Es ist nämlich schon alles da, um ihn in der Session zu speichern. Du hast schon Code im Programm, womit der Warenkorb als Session abgebildet wird ($_SESSION["shopping_cart"] in deinem Warenkorb-Script vom 20.07.2019 10:11). Wenn dein Session-Handling funktioniert, steht die der Warenkorb damit in allen Scripten zur Verfügung.

Dein Problem ist, dass Du deinen Code nicht verstehst (weil Du ihn zusammenkopiert hast). Das musst Du ändern. Mein Problem war, dass ich deinen Code bisher nicht zu verstehen versucht habe. Das habe ich geändert 😂

Du musst im Warenkorb-Script nur die unterschiedlichen Aufrufmöglichkeiten unterscheiden. Das ist teilweise schon drin. Du fragst $_POST['action'] ab, um eine Löschung oder eine Mengenänderung zu erkennen. Im Warenkorb-Script werden pro Produkt zwei Mini-Forms erzeugt, die diese POSTs hervorrufen. Das zweite (für action = change) ist aber falsch, weil es Dich nach step1.php schickt. Guck Dir das Mini-Form für action = remove an. Da ist das action-Attribut des form leer, damit postet das Form auf das Script zurück, das die Seite ausgegeben hat.

Am Ende hast Du noch einen Submit-Button (Bestellung aufgeben), für den fehlt noch das öffnende <form> Tag. Da ist auch noch ein hidden input mit product['name'] - das ist Quatsch, weil die Produkt-Schleife vorher schon zu Ende ist. Du musst auch dort "nur" ein Form erzeugen, dass eine leere action hat, und ein hidden input hinzufügen, mit einer action wie z.B. "checkout" (zur Kasse gehen). Auf dem Server prüfst Du dann, ob überhaupt was im Warenkorb drin ist und leitest dann mit header('location:...') an step1.php weiter.

Rolf

--
sumpsi - posui - clusi