hi,
Kann mir jemand von Euch dazu einen Lösungsansatz nennen? Ich habe hier zwar Bücher über JavaScript und PHP zur Hand, weiss aber noch nicht, nach was ich suchen muss.
Bevor Du zum Fachbuch greifst, mach Dir Gedanken zum Shop an sich. Hast Du ja schon, ich sehe das auch so:
Es gibt eine Seite mit den Artikeln, oder jeder Artikel hat eine eigene Seite. Wenn es mehrere Artikel gibt, würde ich die Seite nicht allzu groß machen, denn die Bestellung wird ein CGI Prozess, nach welchem die Seite neu geladen werden muss.
Also wir haben jetzt mal eine Seite mit einem Artikel. Die Seite gehört zum Ordner "Shop" und auf jeder einer solchen Shop-Seite sieht der Besucher seinen Warenkorb (sieht er ja auch im Tante Emma Laden, bevor er zur Kasse geht schieb er den WK vor sich her). Zum Artikel gibt es einen kleines Formular womit der Käufer den Artikel und die Anzahl zum Warenkorb hinzufügen kann, Klick...
Jetzt kommt der Prozess:
Über einen SessionCookie als Key wird der Warenkorb in einer temporären Tabelle gespeichert, es kommt was hinzu oder es wird was verändert oder es wird was gelöscht. Der Warenkorb wird neu ausgelesen/berechnet und damit wird die Seite, wo der Besucher grad was bestellt/verändert/gelöscht hat, neu ausgeliefert.
Sofern JS aktiv ist, läuft das alles per Ajax, es wird dann nicht mehr die Seite komplett neu erstellt, sondern nur noch der Warenkorb eingebaut.
Den Warenkorb sieht der Besucher also auf jeder Seite, die Artikel zum Verkauf anbietet. Am WK ist dann ein Knopf, wo der Käufer zur Kasse gehen kann. Auch auf dieser Seite wird der WK noch einmal dargestellt in einer Übersicht. Darunter ist dann das Formular, wo die Anschrift reinkommt, die Zahlungsart festzulegen ist und ein Knopf zum Abschicken.
Es ist ein bischen komplex das Thema, ich empfehle OOP. Das Objekt setzt sich etwa wie folgt zusammen:
HTML-Template zum Einbau der gewünschten Artikel,
HTML-Formular zum Abschicken der Bestellung,
Array für die Artikel, die gekauft werden sollen,
Status (falls Bestellungen nach dem Absenden gespeichert werden sollen)...
Hinzu kommen evntl. die Kundendaten (Lieferadresse usw).
Das wäre mein Vorschlag,
viele Grüße,
Horst Kaufhold