Længlich: Warenkorb-Funktion mit PHP

Beitrag lesen

Vanakkam!

Mich interessiert aber auch, ob das überhaupt ohne eine Produktdatenbank
auf dem Server möglich ist.

Also, dass der User auf den "in den Warenkob"-Link klickt.
Und mit diesem Link werden dann die entsprechenden Produktdaten
an der Server übermittelt.
Dieser notiert sich diese dann sozusagen irgendwie in einer Textdatei oder so.
Und wenn der User dann auf Warenkob klickt, wird eben eine Seite ausgegeben,
wo letztendlich der Inhalt dieser Textdatei
wieder ausgegeben wird.

Ist denn dieses herangehen an die Sache nicht auch möglich.
Oder mache ich da immer noch einen Denkfehler?

Naja, die eindeutige Zuordnung Bestellnummer <--> Name <--> Preis muß schon irgendwie gegeben sein. Da man diese drei Dinge bestimmt nicht mathematisch voneinander herleiten kann (bzw. das viel zu kompliziert wäre, wenn man es könnte), müssen sie irgendwo in Form einer Tabelle gespeichert sein.
Und dieses "irgendwo" ist per definitionem eine Datenbank:
"Eine Datenbank (DB) ist eine strukturierte und logisch organisierte Sammlung (formatierter) Daten, die dauerhaft und weitgehend redundanzfrei gespeichert wird." (aus dem Script von Prof. Dr. Georg Winterstein, dessen Klausur letzte Woche ich hoffentlich bestanden habe ;-) )

Jetzt kannst Du natürlich entweder ein gegebenes Datenbanksystem verwenden, z.B. MySQL, oder eines selbst machen, indem Du die Daten z.B. in eine .txt-Datei schreibst. Wenn Du ein eigenes kreierst, mußt Du aber alles selbst machen, was sonst schon erledigt ist: Funktionen für Zugriffe, Änderungen, Einfügen neuer Daten, Löschen etc., die ganzen Sicherheitsüberlegungen (wer darf zugreifen?, woran erkennt man denjenigen?, wie sichert man Datenkonsistenz im Falle einer fehlgeschlagenen Anfrage? usw.). Das wäre ein Riesenaufwand, und das Ergebnis wäre bestimmt auch nicht besser als die bekannten verfügbaren Systeme.

Außerdem habe ich den Eindruck, daß hier ein bißchen aneinander vorbei geschrieben wird: Auge, at und ich meinen eine "statische" Datenbank, in der die Produkte drinstehen und die sich bei Bestellungen nicht verändert. (Sie wird nur verändert, wenn Du ein Produkt mehr oder weniger anbietest, den Preis änderst o.ä.)
Deine oben erwähnte Textdatei würde aber nur diejenigen Produkte beïnhalten, die gerade im Warenkorb sind - d.h., Du bräuchtest für jeden User (= für jede Session) eine eigene Textdatei. Wozu? Die Zuordnung der Preise usw. zu den einzelnen Bestellnummern steht sowieso in der "statischen" Datenbank, und die Zuordnung Kunde <--> bestellte Produkte ist durch die Session gegeben (vorausgesetzt, die bestellten Produkte sind in Session-Variablen gespeichert, natürlich).
Wenn der Kunde dann auf "Bestellen" klickt, liest Dein Script diese Session-Variablen aus und mailt Dir ihren Inhalt. Zusätzlich kann es die Bestellung in eine Tabelle in der Datenbank speichern, wenn das gewünscht ist (es könnte juristisch oder für eventuelle Fehlersuche sinnvoll sein, die alten Bestellungen noch irgendwo gespeichert zu haben).

Viele Grüße vom Længlich