steve: Wie programmiert man ein Warenkorb

Hallo, ich brauch Hilfe um einen Warenkorb zu programmieren mit Hilfe von php und sql. Da es nur ein Schulprojekt ist muss es nichts großartiges sein, es soll um die 20 Produkte enthalten.

Kann mir jemand Ansätze geben wie ich es programmieren soll.

Es soll ungefähr so funktionieren wie bei amazon.de, also dass wenn ich auf die Schaltfläche "Artikel in den Warenkorb legen" klicke, dass es dann halt auch da erscheint und ich nurnoch die Anzahl anklicken soll.

kann mir bitte jemand helfen ich verzweifel schon halber

  1. Hallo steve,

    Hallo, ich brauch Hilfe um einen Warenkorb zu programmieren mit Hilfe von php und sql. Da es nur ein Schulprojekt ist muss es nichts großartiges sein, es soll um die 20 Produkte enthalten.

    Um dir wirklich helfen zu können müsstest du uns sagen, was du bereits kannst und was nicht? Kannst du eine Datenbank in MySQL aufbauen, welches die Produkte abbildet und die Warenkorbinfo enthalten kann? Kannst du mit PHP die Datenbank ansprechen und auslesen? Ob die Datenbank nun 20 Produkte oder 20000000 enthält ist wurscht, der Aufwand ist der Gleiche.

    Was hast du bereits gemacht? Kann man sich das anschauen? Wo kommst du konkret nicht weiter?

    ciao
    romy

    1. Hallo steve,
      »» Hallo, ich brauch Hilfe um einen Warenkorb zu programmieren mit Hilfe von php und sql. Da es nur ein Schulprojekt ist muss es nichts großartiges sein, es soll um die 20 Produkte enthalten.
      Um dir wirklich helfen zu können müsstest du uns sagen, was du bereits kannst und was nicht? Kannst du eine Datenbank in MySQL aufbauen, welches die Produkte abbildet und die Warenkorbinfo enthalten kann? Kannst du mit PHP die Datenbank ansprechen und auslesen? Ob die Datenbank nun 20 Produkte oder 20000000 enthält ist wurscht, der Aufwand ist der Gleiche.

      Was hast du bereits gemacht? Kann man sich das anschauen? Wo kommst du konkret nicht weiter?

      ciao
      romy

      Hallo romy

      Mit Datenbanken kenn ich mich aus da gibt es keine Probleme, jedoch mit php wirds etwas kritisch die grundkenntnisse mit echo und daten aus html auslesen hab ich jedoch wie ich php mit sql verknüpfe bleibt mir ein rätsel(war ich krank)

      wäre wirklich net wenn irgendjemand so ein beispiel hätte wo man sich auch anschauen kann, der Lehrer hat auch explizit gesagt das  php und  sql vorhanden sein muss. außerdem checkt unser lehrer eh nix, bisher konnte er mir bei keinem problem weiter helfen

      1. Hallo steve,

        Mit Datenbanken kenn ich mich aus da gibt es keine Probleme, jedoch mit php wirds etwas kritisch die grundkenntnisse mit echo und daten aus html auslesen hab ich jedoch wie ich php mit sql verknüpfe bleibt mir ein rätsel(war ich krank)

        arbeite das Quakenet-Tutorial durch.

        Freundliche Grüße

        Vinzenz

  2. Kann mir jemand Ansätze geben wie ich es programmieren soll.

    Ordne einer Benutzer-Sitzung eine Warenkorb-ID zu (Tabelle 1 user, wk_id, bestellt) und füge unter dieser Produkte in den neusten, aktiven Warenkorb (Tabelle 2 wk_id, produkt_id) ein.

    Will der Benutzer nun seinen Warenkorb ansehen, werden aus der Warenkorbtabelle alle Daten gelesen, die zum neusten, noch nicht bestellten Warenkorb seiner Session passen.

  3. Hallo, ich brauch Hilfe um einen Warenkorb zu programmieren mit Hilfe von php und sql. Da es nur ein Schulprojekt ist muss es nichts großartiges sein,

    Seit dem ich auf Du mit dem vB-Board bin, hab ich meine Meinung zu Cookies auch geändert.

    Wenn dir das ganze DB-gespeichere also keinen Spaß macht und du lieber mit Cookies arbeiten magst:

    Speicher im Cookie die WarenIDs und wenn er zur Kasse will, landen alle WarenIDs, die im Cookie sind, auf des Servers Festplatte, da wo man die Datenbank findet.

    Grundsätzlich gild:
    User sollte eindeutig gespeichert sein
    Waren sollten eindeutig gespeichert und dem User zugeordnet werden können

    Wo und wie du es speicherst - total egal ... ein Schulprojekt :D - du mußt deine Entscheidungen sicherlich nur verteidigen können.

  4. Moin!

    Es soll ungefähr so funktionieren wie bei amazon.de, also dass wenn ich auf die Schaltfläche "Artikel in den Warenkorb legen" klicke, dass es dann halt auch da erscheint und ich nurnoch die Anzahl anklicken soll.

    Starte eine Session, speichere die ID und die Anzahl der gewünschten Waren im dadurch entstehenden Array $_SESSION, und bei Anguck-Bedarf liest du aus der Datenbank die Daten aus, die zu den in $_SESSION gespeicherten IDs der Waren gehören.

    Bei nur 20 Produkten darf die Benutzung einer Datenbank aber durchaus "winzig" ausfallen.

    - Sven Rautenberg

    1. Da kann ich nur zustimmen.

      Für einen kleinen Shop mit einem sehr begrenztem Angebot (z.B. 20 Artikel) sollte die Session oder ein Cookie ausreichen.

      Wenn er dann auf kaufen klickt, kannste die Artikel aus dem Cookie/Session lesen, in die Bestellemail packen und selbige verschicken.

      Alles ohne DB Aufwand :)

      Falls natürlich der Dozent/Lehrer DB Zugriff erwartet, dann speicherst halt die Bestellung in der DB ab.

      1. Moin!

        Für einen kleinen Shop mit einem sehr begrenztem Angebot (z.B. 20 Artikel) sollte die Session oder ein Cookie ausreichen.

        Cookie würde ich nicht verwenden, wenn PHP vorhanden ist. Der Speicherplatz in Cookies ist grundsätzlich begrenzt (auch wenn man da keine Massen an Daten hineinschreiben will), und eben komplett clientseitig veränderbar. Das will man nicht, weil es die Sicherheit massiv beeinträchtigt und einen dazu zwingt, bei jedem Request die Cookie-Daten zu prüfen und ggf. zu korrigieren.

        Falls natürlich der Dozent/Lehrer DB Zugriff erwartet, dann speicherst halt die Bestellung in der DB ab.

        Würde ich nicht tun. In der DB steht der Artikelvorrat.

        - Sven Rautenberg

        1. Cookie würde ich nicht verwenden, wenn PHP vorhanden ist. Der Speicherplatz in Cookies ist grundsätzlich begrenzt (auch wenn man da keine Massen an Daten hineinschreiben will), und eben komplett clientseitig veränderbar. Das will man nicht, weil es die Sicherheit massiv beeinträchtigt und einen dazu zwingt, bei jedem Request die Cookie-Daten zu prüfen und ggf. zu korrigieren.

          Und? Was hat der Kunde davon seine WarenIDs zu ändern um dann andere Artikel oder ungültige, welche man nicht bei jedem Request prüfen und korrigieren muss, zu bestellen?

          vBulletin läuft komplett auf Cookie/DB-basis und ich glaube nicht, dass man diese Software als schlecht bezeichnen kann.

          »» Falls natürlich der Dozent/Lehrer DB Zugriff erwartet, dann speicherst halt die Bestellung in der DB ab.

          Würde ich nicht tun. In der DB steht der Artikelvorrat.

          Öhm - was würdest du nicht tun? 'Die Bestellung' ist doch sehr allgemein formuliert. Es reicht doch aus die WarenIDs im Zusammenhang mit dem Kunden (seiner Bestellung) zu speichern.

          Wenn ich hier Antworten gebe, dann gehe ich davon aus, dass der Leser etwas mitdenkt - für 100% detaillierte Lösungen verlange ich nämlich Geld ;)

          1. vBulletin läuft komplett auf Cookie/DB-basis und ich glaube nicht, dass man diese Software als schlecht bezeichnen kann.

            vBulletin speichert relevante, systemkritische Daten in Cookies? Wär mir neu ...

            vBulletin speichert einige unwesentliche Session-Informationen in Cookies - wenn diese vom Benutzer manipuliert werden, ist die Sitzung des Benutzers ungültig, mehr nicht.

            Es reicht doch aus die WarenIDs im Zusammenhang mit dem Kunden (seiner Bestellung) zu speichern.

            Oder wenn man, wie ich vorschlug, einfach zur Session<->Warenkorb-Tabelle ein Feld "bestellt" einfügt.

            für 100% detaillierte Lösungen verlange ich nämlich Geld ;)

            Weise Entscheidung :)

        2. Guten Tag,

          Cookie würde ich nicht verwenden, wenn PHP vorhanden ist. Der Speicherplatz in Cookies ist grundsätzlich begrenzt (auch wenn man da keine Massen an Daten hineinschreiben will), und eben komplett clientseitig veränderbar. Das will man nicht, weil es die Sicherheit massiv beeinträchtigt und einen dazu zwingt, bei jedem Request die Cookie-Daten zu prüfen und ggf. zu korrigieren.

          Ich halte die Sicherheitsproblematik hier ebenfalls nicht für sehr gravierend. Jedoch ist ein System, welches vollständig auf Cookies basiert, wenig fehlertolerant. PHP-Session bieten wenigstens einen Fallback auf Session-ID in der URL. Bei einem Shop, der die Bestelldaten in Cookies hält, müssen diese Fallbacks (genau wie den Speichermechanismus) selbst implementiert wird, was wiederum Basis für Sicherheitslücken gibt.

          Gruß
          Christoph Jeschke

          --
          Zend Certified Engineer
          Certified Urchin Admin
      2. Für einen kleinen Shop mit einem sehr begrenztem Angebot (z.B. 20 Artikel) sollte die Session oder ein Cookie ausreichen.

        Da ich darüber nachdenke, weil ich selbst ein kleines Shopsystem in mein CMS integriere, meine Überlegung:

        Ein Browser sendet alle Cookies an die angegeben Domain, immer, auch wenn es nicht notwendig ist.
        Daraus ergibt sich fr mich die generelle Einstellung:
        Nur notwendige Cookies
        Warenkorbcookies fallen nicht in diese Rubrik.

        Zwar könnte man argumentieren, dass bei einem Kleinstshop ein Seitenwechsell, und damit eine Datenbankabfrage über Artikel eventuell dahinfällt. Diese Bedingung ist aber sehr schnell nicht mehr erfüllt.

        mfg Beat

        --
        Woran ich arbeite:
        X-Torah
        ><o(((°>           ><o(((°>
           <°)))o><                     ><o(((°>o
        Der Valigator leibt diese Fische
    2. Moin!

      »» Es soll ungefähr so funktionieren wie bei amazon.de, also dass wenn ich auf die Schaltfläche "Artikel in den Warenkorb legen" klicke, dass es dann halt auch da erscheint und ich nurnoch die Anzahl anklicken soll.

      Starte eine Session, speichere die ID und die Anzahl der gewünschten Waren im dadurch entstehenden Array $_SESSION, und bei Anguck-Bedarf liest du aus der Datenbank die Daten aus, die zu den in $_SESSION gespeicherten IDs der Waren gehören.

      Bei nur 20 Produkten darf die Benutzung einer Datenbank aber durchaus "winzig" ausfallen.

      • Sven Rautenberg

      ja da steckt aber noch mehr dahinter, die bestellungen sollen in die Datenbank aufgenommen werden, doch man soll diese mit weiteren tabellen wie mitarbeiter und lieferant verknüpfen also eine assoziation herstellen und so weiter

      gruß steve

      1. Mahlzeit steve,

        ja da steckt aber noch mehr dahinter, die bestellungen sollen in die Datenbank aufgenommen werden, doch man soll diese mit weiteren tabellen wie mitarbeiter und lieferant verknüpfen also eine assoziation herstellen und so weiter

        Das ist richtig - zu einem Shop-System gehört weitaus mehr als nur ein Warenkorb. Du hattest allerdings in Deinem Eingangsposting nur genau danach gefragt.

        MfG,
        EKKi

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    3. Hallo Sven,

      bei Anguck-Bedarf liest du aus der Datenbank die Daten aus, die zu den in $_SESSION gespeicherten IDs der Waren gehören.

      Was ist, wenn sich da was seit dem letzten "Angucken" geändert hat? Z.B. weil der Shop-Betreiber seine Preise geändert hat, während der Kunde am Einkaufen ist. In einem echten Laden erwartet man ja auch, dass an der Kasse noch der Preis gilt, der auf dem Preisschild steht. (OK, könnte man umgehen, indem beim Ändern eines Produktes immer eine neue ID vergeben wird und die alte nur noch für eine Session-Dauer gültig ist.)

      Ale×

      1. Was ist, wenn sich da was seit dem letzten "Angucken" geändert hat? Z.B. weil der Shop-Betreiber seine Preise geändert hat, während der Kunde am Einkaufen ist. In einem echten Laden erwartet man ja auch, dass an der Kasse noch der Preis gilt, der auf dem Preisschild steht. (OK, könnte man umgehen, indem beim Ändern eines Produktes immer eine neue ID vergeben wird und die alte nur noch für eine Session-Dauer gültig ist.)

        In den Shopsystemen die ich kenne wird entweder der Preis im Warenkorb gespeichert (ewig, direkt beim Hineinlegen des Produkts) oder der Preis wird erst beim Bestellen des Warenkorbs in den Warenkorb bzw. in die Bestellung gespeichert, sprich es gilt der Preis zum Zeitpunkt der Bestellung.

  5. Ahoi,

    kann mir bitte jemand helfen ich verzweifel schon halber

    Das ist kein guter Ansatz. Du musst schon halbwegs mit PHP und SQL hantieren können...;

    Dank und Gruß,

    frankx

  6. Lieber steve,

    Hallo, ich brauch Hilfe um einen Warenkorb zu programmieren

    so ganz ohne Shop dazu?

    mit Hilfe von php und sql.

    Ich hatte das einmal ohne SQL gemacht. Die Sachen stehen alle in einer XML-Datei, was für kleinere Projekte völlig ausreichend ist. Das Teil wird demnächst auf eine neue Versionsnummer gehoben, da ich daran habe arbeiten müssen, und die Ergebnisse werden bald veröffentlicht.

    Liebe Grüße,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)