Folien



(letzte Synchronisation der PDF-Präsentation: 04.12.2020)

Falls keine PDF-Präsentation zu sehen ist, klicken Sie zum Download hier: Direktdownload PDF-Präsentation

Das im Video und unten verwendete Beispielformular finden Sie hier als Download: 200-phpformular-EIS-beispiel-index.php.zip

Beispiel für Formular:

HTML-Code
  <form action="ergebnis.php" method="post"> <div> <label for="idSorte">Sorte?</label> <input type="text" id="idSorte" name="eissorte" placeholder="Eissorte eingeben"> </div> <div> <input type="radio" id="idBecher" value="Becher" name="auswahl"> <label for="idBecher">Becher</label> <br> <input type="radio" id="idWaffel" value="Waffel" name="auswahl"> <label for="idWaffel">Waffel</label> </div> <div> <input type="submit" value="Absenden" name="submitknopf" id="idSubmit"> </div> </form>  

method = "get" – Formulardaten werden an URL angehängt
method = "post" – Formulardaten werden direkt übertragen

Übertragen wird ein assoziatives Array, wobei das Attribut name als Schlüssel verwendet wird:

$_POST['eissorte'] (enthält den Wert, den der User ins Textfeld eingegeben habt, bspw. “Erdbeer”)
$_GET['eissorte'] (dito)

D.h.: Das Attribut ‘name’ gibt den Schlüssel an, das Attribut ‘value’ den Wert – damit enthält $_POST['name'] den Wert value.

Auf der ergebnis.php können diese Variablen verwendet werden, z.B.

PHP-Code
  <?php echo "Dein Lieblingseis ist $_POST[eissorte]!"; ?>  

bzw.

PHP-Code
  <?php $eis = $_POST['eissorte']; // hier könnte auch $_POST[eissorte]; stehen echo "Dein Lieblingseis ist $eis!"; ?>  

Anführungszeichen um den Schlüssel funktionieren nur dann, wenn die Variable außerhalb von Anführungszeichen verwendet wird (im ersten Beispiel funktioniert $_POST['Lieblingseis'] also nicht.

Auswertung der Radiobuttons

…funktioniert analog zum bisher Beschriebenen. Wir benutzen immer das name-Attribut des Formularelements:

PHP-Code
  <?php echo "Sie essen gerne $_POST[eissorte] aus der/dem $_POST[auswahl]." ?>  

Ist GET oder POST besser?

Wir verwenden vorläufig immer POST, da wir u.U. längere Inhalte von textarea-Feldern übertragen wollen oder Passwörter verwenden. Allerdings hat auch GET Vorteile: Fehler sind leichter zu erkennen, da in der URL der gesamte Formularinhalt übermittelt wird.

Die Verwendung von GET hat Sicherheitsimplikationen, wenn bspw. über das Formular Werte übertragen werden, die nicht als Referer in den Logs auftauchen sollen - wenn z.B. ein Passwort über das Formular übertragen wird.

Übrigens: File-Transfers können nur per POST durchgeführt werden.

Übungen

Alle Übungen finden Sie in der Materialsammlung (dort auch alle zusätzlichen Dateien wie Bilder, Klassendiagramme oder HTML-Vorlagen!).

Die aktuelle Übung können Sie hier als txt-File herunterladen.


***** Übungen: PHP - Formulare mit get/post auswerten *****


1) Einfaches Formular 1

Erstellen Sie ein Formular, wo der User seine Haarfarbe einträgt. Nach dem Absenden erscheint die Ausgabe "Ihre Haarfarbe ist " + eingegebene Haarfarbe.




2) Einfaches Formular 2

Erweitern Sie das Formular der vorigen Übung so, dass der User zusätzlich per Radiobutton angeben kann, ob seine Haare gefärbt sind oder nicht. Diese Eingabe wird bei der Ausgabe berücksichtigt.





3) Einfache Formulare

Erstellen Sie zwei PHP-Seiten mit jeweils einem Formular, durch das die Haarfarbe abgefragt wird.

Erste Seite: Haarfarbe wird über ein Textfeld abgefragt, speichern unter "haarfarbe_text.php"; action = "ergebnis_haarfarbe.php"

Zweite Seite: Haarfarbe wird über ein Dropdownmenü (select)  abgefragt, speichern unter "haarfarbe_dropdown.php"; action = "ergebnis_haarfarbe.php"

Nach Absenden des jeweiligen Formulars soll die Ausgabe "Hallo! Ihre Haarfarbe ist: xy!" erfolgen.




4) Einfachen Rechner erstellen

Erstellen Sie einen Rechner, der folgenden Anforderungen genügt:
- In zwei Felder wird jeweils eine beliebige Zahl eingegeben (im Folgenden genannt [zahl1] und [zahl2].
- Nach Klick auf den Knopf "berechnen" erhält man die Ausgabe

Hallo! Wenn man [zahl1] und [zahl2] addiert, erhält man [Summe zahl1+zahl2]. Wenn man die beiden Zahlen multipliziert, erhält man [Produkt zahl1+zahl2].




5) Bruttopreis-Rechner erstellen

Erstellen Sie ein Programm, das aus einem eingegebenen Nettobetrag den Bruttobetrag (d.h. zzgl. MwSt.) berechnet.




6) Zeugnisdurchschnitt berechnen

Erstellen Sie ein Programm, das Ihren Zeugnisdurchschnitt berechnet. Beschränkung auf wenige Fächer ok.




Weitere Übungen in den Verzeichnissen:
- 200-phpformular-sternzeichen
- 200-phpformular-tage-minuten