Aufgabe 1: Warenrücksendung
Implementieren Sie das folgende Formular für die Abwicklung einer Warenrücksendung. Die Anordnung der Formularelemente kann einfach mit Hilfe einer HTML-Tabelle erfolgen. Die Formulardaten brauchen vor dem Abschicken nicht überprüft zu werden.

Das Formular erfragt unterschiedliche Kunden- und Artikeldaten, wie z. B. den Kundennamen und die -adresse. Um das Ausfüllen des Formulars zu vereinfachen, können die Daten durch Eingeben einer Kundenkennung aus einer Datenbank abgefragt werden:
Wird der zum Feld der Kennung gehörende Button gedrückt, hier: Kunde
suchen, so wird mittels JavaScript geprüft, ob in der
Datenbank zu der eingegebenen Kennung Kundendaten
existieren. Dabei muss berücksichtigt werden, dass HTML-Buttons
per Voreinstellung submit-Buttons sind,
d. h. type="submit". Damit nach Drücken des
Buttons nach einem Datenbankeintrag gesucht und nicht das
Formular abgeschickt wird, muss der Typ des
Buttons button sein, d. h. type="button".
Wird in der Datenbank ein passender Eintrag gefunden, so werden die Felder für den Vor- und Nachnamen, für die Email und die Adresse mit den vorliegenden Daten automatisch ausgefüllt und unterhalb des Formulars eine Erfolgsmeldung ausgegeben:
Gleiches gilt für Katalogartikel. Wird die Kennung eines Artikels
eingegeben und der Button Artikel suchen gedrückt, so
werden die Artikeldaten automatisch eingefüllt, sofern die
Artikelkennung in der Datenbank gefunden wird:

Gegeben seien die folgenden zwei Kundendaten:
Kundenkennung: MM-SN1-1234-MB Name: Markus Mustermann Email: markus@mustermann.de Adresse: Musterstr. 1, 89075 Ulm Kundenkennung: MF-SN2-5678-MB Name: Marianne Musterfrau Email: marianne@musterfrau.de Adresse: Bergstr. 1, 89073 Ulm
Sowie die folgenden zwei Artikeldaten:
Artikelkennung: SP-HT-1 Artikelbezeichnung: Smartphone HuiTec HT1 Artikelkennung: TV-SM-2 Artikelbezeichnung: SmartTec TV STV2
Das Arbeiten mit einer echten Datenbank würde den Rahmen des
Kurses sprengen. Deswegen wird diese mit Hilfe von
JSON-Dateien simuliert, die die Kunden- und Artikeldaten
enthalten. Erzeugen Sie also auf der Grundlage der oben
gegebenen Daten zwei JSON-Dateien mit den Namen Kundendaten.json
und Artikeldaten.json, die Felder von
Objektliteralen enthalten. Lesen Sie die
Daten aus den Dateien in zwei Felder für die Kunden- und Artikelobjekte
ein. Durchsuchen Sie diese Felder mit Schleifen nach den eingegebenen
Kennungen, wenn die Buttons Kunde suchen bzw. Artikel
suchen gedrückt werden. Entnehmen Sie die Daten schließlich aus
den passenden Feldelementen.
Im Produktiveinsatz wäre eine derartig einfache Lösung aus datenschutzrechtlichen Gründen nicht möglich, da diese potentiellen Angreifern den Zugriff auf alle Kunden- und Artikeldaten gestatten würde. Die JSON-Daten würden dann nicht komplett als Inhalt einer Datei geliefert, sondern wären das Ergebnis einer Datenbankanfrage. Dabei würde die Selektion passender Daten schon in der Datenbank geschehen.
