Übungsblatt 2: Benutzerinteraktion und PHP-Taschenrechner
In dieser Übung werden wir u. a. einen interaktiven
Taschenrechner schreiben, bei dem ein HTML-Frontend im Browser mit
einem auf dem Server installierten PHP-Rechner kommuniziert.
Implementieren Sie das Anfragebeispiel mit Formularen aus der
Vorlesung. Wandeln Sie das Beispiel so ab, dass ihr Name und Wohnort
übermittelt werden (Abbildung 1). Richten Sie die Eingabefelder und
Beschriftungen mittels einer Tabelle aus.
Bedenken Sie, dass Sie in diesem Fall sowohl die PHP- als auch die
HTML-Datei auf den Webserver kopieren müssen.
Fassen Sie die PHP- und HTML-Datei in einer PHP-Datei zusammen, die
sowohl das Formular, als auch den Programmcode enthält.
Abb.1:
Einfaches Formular
Aufgabe 2: Taschenrechner
Programmieren Sie nun einen einfachen Taschenrechner, bei dem Daten mit
einem Formular an einen in PHP programmierten Taschenrechner gesendet
werden.
Das HTML-Frontend im Browser sollte ungefähr wie in Abbildung 2
aussehen.
D. h. für die Eingabe von jeweils zwei Operanden sollen zwei einzeilige
Eingabefelder benutzt werden, jeweils mit voreingestelltem Wert 0. Die
gewünschte Rechenoperation wird mittels Radio Buttons ausgewählt.
Abb.2:
Taschenrechner HTML-Frontend
Unterstützen Sie zunächst nur die folgenden Operationen: Addition,
Subtraktion, Multiplikation und Division positiver Zahlen.
Das Attribut value soll dabei entsprechend der
zugehörenden Operation gesetzt werden, z. B. value="Addition".
Voreingestellt ist der Radio Button für die Addition aktiviert. Nach
Eingabe der Operanden werden diese mittels eines submit-
Buttons mit der Beschriftung "=" abgeschickt.
Die erforderlichen HTML-Befehle können Sie in
SelfHTML nachschlagen.
Variante 1: Erster Taschenrechner
Fragen Sie die ausgewählte Rechenoperation in der zugehörenden
PHP-Datei mittels if und elseif Anweisungen
ab. (Die genaue Schreibweise derartiger Kontrollstrukturen können Sie im PHP Handbuch nachschlagen.) Berechnen Sie das zur übermittelten
Operation gehörende Ergebnis und geben Sie dieses mittels echo()
aus. Formatieren Sie die Ausgabe wie folgt:
operand1 Operation operand2 = ergebnis
Hier ein Beispiel für die Addition von 2 und 5:
2 + 5 = 7
Variante 2: Switch
Schreiben Sie eine Variante des Taschenrechners bei der die Operationen
mittels einer switch-Anweisung ausgewählt werden.
Variante 3: Auf Gleichheit prüfen
Erweitern Sie nun eine der beiden obigen Varianten (if-elseif
oder switch) ihres Taschenrechners um zwei
Vergleichsfunktionen "==" und "===" .
Abb.3:
Erweiterter Taschenrechner
"==" soll TRUE liefern, wenn operand1 ==
operand2, d. h. die Operanden müssen hinsichtlich ihrer Werte, aber
nicht bezüglich ihrer Typen gleich sein. "===" liefert
hingegen nur dann TRUE, wenn die beiden Operanden sowohl
den gleichen Wert, als auch den gleichen Typ besitzen.
Die Formatierung ist dieselbe wie zuvor, mit den folgenden Ergänzungen:
Für die Operationen werden entweder == oder ===
und für das ergebnis entweder TRUE oder FALSE
ausgegeben. Die Werte im obigen Bild liefern dann die Ausgabe von Abb.
4.
Abb.4:
Ausgabe bei Gleichheitsprüfung
Prüfen sie die beiden neuen Operationen z. B. mit den folgenden
Wertepaaren: 10 und 10, 10 und 10.0, 10 und zehn.
Variante 4: Bedienoberfläche
Gestalten Sie die Bedienoberfläche des Taschenrechners nach eigenem Geschmack, sodass diese in einen Bedien-
und einen Ausgabeteil aufgeteilt ist. Im Ausgabeteil werden die
Ergebnisse der jeweiligen Rechenoperationen angezeigt (siehe Abb. 5).
Abb.5: Taschenrechner
mit Bedien-
und Ausgabeteil
Die jeweils gewählte Operation und die eingegebenen Operanden sollen
nach dem Abschicken der gewünschten Operation erhalten bleiben. Beim
Erstaufruf des Taschenrechners enthalten die Operandenfelder den Wert 0
und es ist die Addition ausgewählt.