Wie merkt sich der Shop den Gast-Warenkorb?

  • Hallo,

    ich versuche derzeit, in der Artikeldetailansicht ein zusätzliches Textfeld mit Informationen hinzuzufügen, die der Besteller angeben kann. Diese Infos sollen während des gesamten Bestellvorgangs "erhalten" bleiben – vom Eintrag in den Warenkorb bis hin zum Ende des Bestellvorgangs.

    Es funktioniert bisher alles wie geplant, allerdings nur wenn der Kunde angemeldet ist. Denn dann wird der komplette Warenkorb des Kunden in der Tabelle "customers_basket" gespeichert. Dort finde ich all Einträge wieder. Ich habe diese Tabelle um eine zusätzliche Spalte erweitert. Doch wenn ich als Gast einen Artikel in den Warenkorb lege, wird NICHTS in die customers_basket-Tabelle geschrieben.

    Irgendwie muss sich der Shop ja merken, was der Kunde in seinem Warenkorb hat, auch wenn er nicht eingeloggt ist. Aber wie, und vor allem wo (in welcher php-Datei), macht er das? Speichert er es in eine andere MySQL-Tabelle, oder nutzt er dafür die PHP-eigenen Session-Variablen ($_SESSION['variable']) ?

    Ich bitte um Hilfe

    MfG
    Hartmut

  • Hallo Hartmut,

    ja das läuft in der Session ab.

    du kannst dir den Inhalt der Session mit folgenden Zeilen ausgeben lassen:
    echo '<pre>';
    print_r($_SESSION);
    echo '</pre>';

    füge diese 3 eilen am Ende, aber vor ?> in deine index.php ein, lege was in den Warenkorb und geh wieder auf die Startseite (oder schreib die 3 Zeilen gleich in includes/modules/order_details_cart.php

    Wenn du informationen zu einzelnen Bereichen dort suchst kannst du var_dump($_SESSION) verwenden, bitte beachte aber dass es sich z.B. bei $_SESSION[cart] um ein Objekt handelt.

    mit besten Grüßen aus Hamburg

    Mario

  • Die Warenkörbe der Gäste werden nicht gespeichert. Die der registrierten Kunden in der Datenbank.
    Meldet sich ein Kunde an, werden diese Daten aus der Datenbank wieder in die Session geschoben.