bjbenderTV: Wie ist ein Warenkorb aufgebaut

Hallo alle zusammen ich habe folgende Intressens Frage wie ist so ein Warenkorb bei einem Onlineshop aufgebaut. Ich meine gehört zu haben das dafür eine Datenbank und PhP verwendet wird. Ich würde dies gerne mal selbst ausprobieren wie so etwas funktioniert vom Code her und daher die Frage kennt ihr aktuelle Tutorials die auch ein Anfänger versteht?

Danke schon mal für eure Hilfe!

  1. Liebe(r) bjbenderTV,

    ein Warenkorb ist zunächst einmal eine Idee. Um sie umzusetzen, benötigt man eine wie auch immer geartete Datenstruktur wie z.B. eine Liste:

    • Artikel_1234
    • Artikel_2121
    • Artikel_2121
    • Artikel_1132
    • Artikel_1234

    Wie Du siehst, gibt es zwei Artikel zweimal im Korb, einen dritten nur einmal. Du kannst die Liste auch verkomplizieren, indem die Listeneinträge eben nicht nur eine Artikelnummer sind, sondern Objekte:

    • Artikel_1234
      "Herrenhemd weiß Größe L"
      Tagespreis: €35,-
    • Artikel_2121
      "Fußball schwarz/weiß"
      Tagespreis: €12,-
    • Artikel_2121
      "Fußball schwarz/weiß"
      Tagespreis: €12,-
    • Artikel_1132
      "Kerzenständer Triton"
      Tagespreis: €129,-
    • Artikel_1234
      "Herrenhemd weiß Größe L"
      Tagespreis: €35,-

    Du kannst diese Liste entweder rein serverseitig verwalten, oder rein im Browser, oder eine Mischung aus beidem. Auf dem Server benötigst Du eine passende Script-Sprache (wie z.B. PHP), im Browser JavaScript.

    Ich würde dies gerne mal selbst ausprobieren wie so etwas funktioniert vom Code her und daher die Frage kennt ihr aktuelle Tutorials die auch ein Anfänger versteht?

    Ohne ein irgendwie geartetes Grundlagenwissen wirst Du kein für Dich passendes Tutorial finden. Welche Grundlagen hast Du denn schon? Kennst Du schon das ein oder andere Tutorial zu den Grundlagen aus unserem Wiki?

    Wenn Du konkrete Fragen zu einem speziellen technischen Problem hast ("Warenkorb" ist zu allgemein), dann kannst Du diese hier gerne stellen. Ansonsten bleibt bei diesem Thema wohl nur zu raten, dass Du mit einer beliebigen Programmiersprache lernst, wie Du mit Listen (meißt Array genannt) umgehst, um dann hier wieder aufzuschlagen und eine Liste aus Artikeln mit PHP oder JavaScript als Grundlage für einen Warenkorb zu besprechen.

    Liebe Grüße,

    Felix Riesterer.

  2. A)

    Im Prinzip wird eine Session aufgebaut, die eine eindeutige ID hat, um welche man sich z.B. im Falle der Nutzung von PHP kaum kümmern muss.

    In dieser Session wird ein Array abgelegt, welches im Prinzip eine Tabelle mit den Einkäufen darstellt. Alternativ kann man freilich die Daten nicht in der Session selbst sondern in einer Datenbank ablegen und mit der Session-ID identifizieren. Das geht auch mit der Session selbst. Ob das sein muss, oder sollte sei für eine Einzelfallbetrachtung dahingestellt, man kann es aber.

    Dabei ist zu beachten, dass z.B. der Preis stets aus der serverseitigen Datenbank stammt, den vom Browser gelieferten Daten glaubt man nur die Artikelnummer und die Anzahl. Apropos Preis: stets netto - denn man bekommt Ärger wenn man einen Artikel mit 19% USt an einen Verbraucher in Österreich verkauft.

    Beim Preis muss man auch beachten und wissen was man tun will (und darf), wenn ein Artikel um 23:55 in den Warenkorb aufgenommen wurde und um 00:15 gekauft wird - wenn sich z.B. zwischenzeitlich der geforderte Preis geändert hat.

    oder B)

    Das gleiche geschieht (abgesehen von der Session) im Browser z.B. in einem Cookie oder Storage, also im Browser des Benutzers. Beim Kauf muss dann ein Abgleich der nunmehr gesendeten Daten mit den auf dem Server vorhandenen stattfinden - sonst (ver)kauft (man) nach einer Datenmanipulation jemand ein iPhone für 7,99€ statt 799 €.

    • Wenn der Warenkorb angezeigt wird, werden alle Summe durch subraketenwissenschaftliche Methoden (Multiplizieren und Addieren) errechnet.

    • Man sollte bei einer Erhöhung der Anzahl der Einzelpostionen durch den potentiellen Käufer vielleicht auf prüfen ob der Artikel in der erhöhten Anzahl überhaupt verfügbar ist.

    Hinweis: Einen Webshop sollte man nur selbst programmieren wenn man sowas kann und auch in der Lage ist, Sicherheitsrisiken und juristische Aspekte zu beachten. Insgesamt ist es fast einfacher eine Rakete zu bauen.

    1. [...] Insgesamt ist es fast einfacher eine Rakete zu bauen.

      Kommt darauf an, welche Höhe sie erreichen soll ;-)

      1. Hallo,

        [...] Insgesamt ist es fast einfacher eine Rakete zu bauen.

        Kommt darauf an, welche Höhe sie erreichen soll ;-)

        Na, zum Wasserskifahren sollte es zumindest reichen!

        Gruß
        Kalk

      2. @@Mitleser

        [...] Insgesamt ist es fast einfacher eine Rakete zu bauen.

        Kommt darauf an, welche Höhe sie erreichen soll ;-)

        Na, sie Höhe eine Höhe erreichen, dass sie vom Boden bis zur Spitze reicht. ;-)

        LLAP 🖖

        -- „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
        1. Hallo,

          @@Mitleser

          [...] Insgesamt ist es fast einfacher eine Rakete zu bauen.

          Kommt darauf an, welche Höhe sie erreichen soll ;-)

          Na, sie Höhe eine Höhe erreichen, dass sie vom Boden bis zur Spitze reicht. ;-)

          [x] done

          Gruß
          Kalk

  3. Tach!

    wie ist so ein Warenkorb bei einem Onlineshop aufgebaut. Ich meine gehört zu haben das dafür eine Datenbank und PhP verwendet wird.

    Eine Datenhaltung sicherlich, aber PHP muss nicht zwangsläufig die Sprache der Shopsoftware sein.

    In anderen Antworten wurden Sessions genannt. Kann man nehmen, kann man aber je nach Bedarf auch anders sehen. Eine Session ist nach Browserschließen meist weg. Will man dem Kunden den Warenkorb ausräumen oder soll er nicht vielleicht beim nächsten Mal erinnert werden, dass er was kaufen wollte und es bereits im Warenkorb hat? Möchte man dem Kunden den Warenkorb erhalten, muss man natürlich anderenorts speichern statt in einer flüchtigen Session.

    Auch Wunschlisten/Merklisten und Vergleichslisten sind einem Warenkorb ähnlich aufgebaut.

    dedlfix.