Programmieren Sie in einer PHP-Datei E1_dynauswahl.php eine
Funktion dynAuswahl(), die dynamisch eine Auswahlliste generiert.
Die Funktion hat vier Parameter: function dynAuswahl($id, $name, array
$options, $multiple). $id und $name nehmen Zeichenketten für die entsprechenden Attributwerte in der Auswahlliste entgegen. An das Array $options
werden die option-Elemente übergeben. Wir gehen dabei davon aus, dass der
Wert des value-Attributs dem Text entspricht, der zwischen <option> und
</option> angezeigt wird. $multiple ist vom Typ boolean und legt fest, ob
eine Mehrfachauswahl erlaubt ist. Wenn das so ist, hat das Auswirkungen auf den
Wert des name-Attributs und ein zusätzliches size-Attribut, denn die Höhe des
Feldes soll dann der Anzahl der Elemente entsprechen. Der Rückgabewert ist vom
Typ string. Die Funktion soll also das select-Element inklusive der optionElemente als Zeichenkette zurückliefern.
Es geht bei dieser Aufgabe ausschließlich um die Funktion zum Generieren der Auswahllisten, nicht um die Formularauswertung.
Abb. H.1: Zwei Beispiele für Funktionsaufrufe …
Abb. H.2: … die diese Ausgabe erzeugen …
Die Markierungen in der unteren Auswahlliste wurden zur Verdeutlichung der
Mehrfachauswahl später hinzugefügt.
2. Erstellen Sie in einer PHP-Datei E2_rechner.php einen kleinen Rechner, der mit zwei
Zahlen in den Grundrechenarten rechnet und das Ergebnis ausgibt. Als Muster dienen Ihnen folgende Abbildungen:
Abb. H.4: Das Formular nach dem ersten Start
Abb. H.5: Die Eingabe der Rechnung
Abb. H.6: Die Ausgabe
20 Pkt.
3. Folgendes kleines Skript enthält insgesamt fünf Ausgaben mit echo. Bitte geben Sie
an den mit Ausgabe: _______________ gekennzeichneten Stellen den Wert der
Variablen an, die dort ausgegeben wird (je 1 Pkt.). Begründen Sie Ihre Entscheidungen (je 4 Pkt.).
Ein Tipp: Achten Sie darauf, ob mit Werten oder Referenzen gearbeitet wird.
<?php
function eineFunktion(&$param)
{
$param = $param * 2;
}
function nochEineFunktion($param)
{
$param = $param / 2;
}
$var1 = 10;
$var2 = 20;
$var3 = 30;
$var4 = 0;
$var4 = &$var1;
echo "var4: $var4<br />"; // Ausgabe: _____________________
eineFunktion($var4);
echo "var1: $var1<br />"; // Ausgabe: ______________________
if ($var4 > $var2) {
$var4 = $var2;
}
else {
$var4 = &$var3;
}
nochEineFunktion($var4);
echo "var4: $var4<br />"; // Ausgabe: _______________________
eineFunktion($var3);
echo "var1: $var1<br />"; // Ausgabe: ________________________
echo "var2: $var2<br />"; // Ausgabe: ________________________
?>
25 Pkt.
4. Erstellen Sie ein PHP-Skript E4_Grundstueck.php zur Berechnung von Grundstückspreisen. Es soll folgende Funktionen bieten:
• Länge und Breite eines Grundstücks in Metern einlesen,
• Preis pro Quadratmeter einlesen,
• den Preis des Grundstücks berechnen und ausgeben,
• je nach Auswahl zwischen 3 und 7 % Provision aufschlagen und den Preis ausgeben,
• je nach Auswahl 19 % Mehrwertsteuer aufschlagen und den Preis ausgeben.
Das Formular sollte etwa so aussehen:
Abb. H.7: Formular nach dem Start mit geöffnetem Select-Element
Bitte berücksichtigen Sie in Ihrer Lösung auch, dass die Formularfelder mit den zuletzt gewählten Werten vorbelegt werden. Nach der Ausführung könnte das Formular zum Beispiel aussehen, wie auf der folgenden Abbildung.
Abb. H.8: Das Formular nach der Ausführung des Skripts
Die Formatierungen der Währungsbeträge (Dezimaltrennzeichen, Anzahl der Nachkommastellen) sind für diese Lösung ohne Relevanz.
30 Pkt.
Gesamt: 100 Pkt.