Einsendeaufgabe zu Studienheft PHP 3

- PHP und MySQL -

Sie werden mit den folgenden Aufgaben wieder den Webshop aus diesem Lernheft verbessern. Ihre Lösungen sollten Sie - wie beiden ersten beiden PHP-Heften – auf Ihren Webspace des Online-Lernsystems hochladen. Einschicken brauchen Sie dann nur die Beschreibung Ihrer Lösung.
Zunächst eine Zusammenstellung der bisherigen Dateien der Shop-Applikation:

artikel.php – stellt die Artikel dar
bestellung.php – die Bestellseite
index.php – das Anmeldeformular
dbconnect.php – stellt die Verbindung zur Datenbank her
authentifizierung.php – überprüft Zugriffsberechtigung

Ihre Aufgabe soll es nun sein, die Shop-Applikation so zu erweitern, dass sich neue Kundenregistrieren können. Im zweiten Lernheft zu PHP wurde ein Webshop auf Basis von XML-Dateien entwickelt. Dieser Shop hatte eine Warenkorbfunktionalität, die über die Session-Technologie realisiert wurde. Dabei wurden gewünschte Artikel erst im Warnkorb angelegt und nicht sofort bestellt. Der Benutzer kann sich dann den Warenkorb ansehen und die Artikel insgesamt bestellen.

Frage 1

Integrieren Sie einen Warenkorb auch in den Shop aus diesem Lernheft. Diesmal soll aber der Inhalt des Warenkorbs nicht in der Session-Variable abgelegt werden, sondern in der MySQL-Tabelle „warenkob“. Diese neue Tabelle soll vier Spalten enthalten: Eine ID, die Kundennummer, Artikel-ID und die Anzahl. Wenn ein Benutzer also auf einen Artikel klickt, soll er erst im Warenkorb abgelegt werden.
Tipp: Benutzen Sie die Seite „bestellung.php als Vorlage. Die Funktionalität ist ähnlich, nur dass die Daten in einer anderen Tabelle abgelegt werden. Der Bestand der Artikel darf aber erst bei einer Bestellung verringert werden

HIER der Link zum Ergebnis.

Frage 2

Über einen Link „Warenkorb“ auf der Artikelseite, der zu der Seite „warenkorb.php“ führt, kann man sich den Inhalt des Warenkorbs jederzeit ansehen und die einzelnen Artikel ändern.
Tipp: Benutzen Sie folgende SQL-Anweisung, um die Artikelinformationen aller Artikel im Warenkorb, die vom Kunden vorgemerkt wurden zu erhalten:

SELECT
  name,
  preis
FROM
  artikel,
  warenkorb
WHERE
  warenkorb.kundenummer=“$_SESSION['nummer'].“
AND
  artikel.id=warenkorb.artikelid

In einer while-Schleife können dann alle vorgemerkten Artikel dargestellt werden.

HIER der Link zum Ergebnis.

Frage 3

Außerdem soll es auf der Warenkorbseite die Möglichkeit geben, den Warekorb zu bestellen. Damit werden dann alle Artikel aus dem Warenkorb in die Bestelltabelle übertragen und der Warenkorb wird gelöscht.
Tipp: Gehen Sie dabei so vor, dass Sie zunächst alle Artikel-IDs aus der Warenkorbtabelle selektieren, die dem aktuellen Benutzer zugeordnet sind. Dann tragen Sie alle ID`s mithilfe einer Schleife in die Bestelltabelle ein. Als Letztes löschen Sie den Warenkorbinhalt für den aktuellen Kunden mit einer entsprechenden delete-Anweisung.
Erstellen Sie die Lösung auf Ihrem Webspace.
Abb. G1, Abb G2 und Abb. G3 sollen Ihnen Anhaltspunkte geben, wie die Seiten aussehen können

HIER der Link zum Bestell-Bereich.
Die Quelldateien zu diesen Einsendenaufagben sind HIER zu finden.