Ü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.

Aufgabe 1: Anfrage

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.