[php.wirlernen.at] [Aufgaben zur Lektion] [Video zur Lektion]

Lektion 49: $_POST - Formular mit Dropdown - Liste

Du hast bereits verschiedene Formularfelder in PHP eingesetzt - hier unten siehst du Beispiele für den Einsatz von Dropdown - Listen. Listenbereiche werden mit dem <select></select> - Tag festgelegt und die einzelnen Elemente einer Liste mit dem <option></option> - Tag. Je nach Wahl der gewählten Bezeichnung / Name der Dropdown - Liste können 1 oder mehrere Werte ausgewählt werden - der Unterschied wird durch [] und multiple="multiple" gekennzeichnet:
* <select name="Anrede"> erzeugt eine Liste mit 1 Auswahlmöglichkeit
* <select name="Einkauf[]" multiple="multiple"> erzeugt eine Liste mit MEHREREN Auswahlmöglichkeiten - die Listenelemente werden in einem Array gespeichert.

Beachte hier unten LINKS das Listing (mit Zeilennummern) und RECHTS die mit diesem PHP - Code erzeugte Abbildung der Webseite: Beachte die Kommentare des Listings zum besseren Verständnis der Funktionsweise von Formularen!
Der Code von formularmitdropdown.php
(Code OHNE Zeilennummern)
01 | <!DOCTYPE html>
02 | <html lang="de">
03 |
04 | <head>
05 |     <title>Formular mit Dropdown - Liste</title>
06 |     <meta charset="UTF-8">
07 | </head>
08 |
09 | <body>
10 |     <form action="formularmitdropdown.php" method="post">
11 |         Wahl der Anrede:
12 |         <select name="Anrede">
13 |             <option value=" "> </option>
14 |             <option value="Sie">Sie</option>
15 |             <option value="Du">Du</option>
16 |         </select>
17 |         <br>
18 |         Einkaufsliste:
19 |         <!-- die ausgewählten Elemente werden in einem Array gespeichert -->
20 |         <select name="Einkauf[]" multiple="multiple">
21 |             <option value="Milch">Milch</option>
22 |             <option value="Eier">Eier</option>
23 |             <option value="Brot">Brot</option>
24 |         </select>
25 |         <br>
26 |         <input type="submit" name="absenden" value="Liste absenden">
27 |     </form>
28 |     <?php
29 |     
//Mit isset() wird überprüft ob einer Variablen bereits
30 |     //ein Wert zugewiesen wurde
31 |     
if (isset($_POST['absenden'])){
32 |         if (
$_POST['Anrede']=="Sie"){
33 |             echo 
"Ihre ";
34 |         }
35 |         if (
$_POST['Anrede']=="Du"){
36 |             echo 
"Deine ";
37 |         }
38 |         echo 
"Einkaufsliste: <br>";
39 |         
//es werden alle Werte des Arrays mit einer foreach - 
40 |         //Schleife ausgegeben
41 |         
if (isset($_POST['Einkauf'])){
42 |             foreach (
$_POST['Einkauf'] as $value) {
43 |                 echo 
$value."<br>";
44 |             }            
45 |         }
46 |     }
47 |     
?>
48 |
</body>
49 |
50 | </html>
Augabenstellung:
1. Erzeuge in einer Datei mit dem Dateinamen 049.php ein Listing mit einem Formular welches eine Liste mit 5 Ausflugszielen deiner Wahl beinhaltet. Der Benutzer soll mehrere Ausflugziele auswählen können. Wenn das Formular abgesendet wird sollen die gewählten Ausflugsziele auf der Webseite angezeigt werden!