Folien



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

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

Beispiel für Formular:

HTML-Code
  <form action = "ergebnis.php" method = "post" /> <p>Welches ist Ihr Lieblingseis?</p> <input type = "text" name = "Lieblingseis" /> <input type = "submit" /> </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['Lieblingseis'] (enthält den Wert “Erdbeer”)
$_GET['Lieblingseis'] (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[Lieblingseis]!"; ?>  

bzw.

PHP-Code
  <?php $eis = $_POST['Lieblingseis']; // hier könnte auch $_POST[Lieblingseis]; 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.

Zweites Beispiel mit zwei Variablen

Formular:

HTML-Code
  <form action = "ergebnis.php" method = "get"> <p>Bestellen Sie online Ihr Eis:</p> Sorte? <input type = "text" name = "eis" /><br /> Waffel<input type = "radio" name = "behaeltnis" value = "Waffel" /> Becher<input type = "radio" name = "behaeltnis" value = "Becher" /> <input type = "submit" value = "Eis bestellen!" /> </form>    

ergebnis.php

PHP-Code
  <?php echo "Sie essen gerne $_GET[eis] aus der/dem $_GET[behaeltnis]." ?>  

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:

Im allgemeinen ist es besser, die Methode GET zu verwenden: Formulare sind leichter zu debuggen und der Anwender kann sich ein fertig ausgefülltes Formular mit Parametern in die Bookmarks oder einen Link legen – das ist bequem und ergonomisch.

Enthält das Formular Werte, die nicht in der URL angezeigt werden sollen und die ggf. nicht Bestandteil des Referer sein sollen und nicht in Proxy-Logs auftauchen sollen, dann ist die Verwendung von POST angezeigt. Dies ist zum Beispiel immer der Fall, wenn ein Eingabeelement Password verwendet wird.

Ebenfalls soll POST verwendet werden, wenn die Länge von Eingabeelementen nicht nach oben begrenzt ist, also immer dann, wenn ein TEXTAREA verwendet wird.

Schließlich ist die Verwendung von POST zwingend notwendig, wenn ein File-Upload durchgeführt werden soll, einmal wegen der prinzipiell unbegrenzten Länge, aber auch weil der notwendige ENCTYPE=“multipart/form-data” nur mit POST zusammen funktioniert.
(php-faq.de )

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


PHP-10_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.




PHP-10_2: Einfaches Formular 2

Erweitern Sie das Formular der vorigen Übung (6_1) 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.





PHP-10_3: Einfache Formulare

Erstellen Sie mit Dreamweaver 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ü ("List/Menu")  abgefragt, speichern unter "haarfarbe_dropdown.php"; action = "ergebnis_haarfarbe.php"

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




PHP-10_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].




PHP-10_5: Bruttopreis-Rechner erstellen

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




PHP-10_6: Zeugnisdurchschnitt berechnen

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




Weitere Übungen in den Verzeichnissen:
- php10-sternzeichen
- php10-tage-minuten