Unterrichtsmaterialien Informationsverarbeitung
Verarbeitung der übertragenen Daten
Beabsichtigte Lernziele
Die Daten unseres Formualrs müssen zur Verarbeitung ausgelsen werden. Dafür muss die System-Ressource POST aufgerufen werden, die wir in der <form ... method="post"> gewählt haben. Ab jetzt kommt PHP ins Spiel. Das Auslesen der System-Ressource POST ist ein dynamischer Prozess, der auf dem Server geschieht. Im PHP-Script stehen die System-Ressourcen als Array zur Verfügung. Sollten die Zugriffsmöglichkeiten nicht bekannt sein, hier gibt es Antworten.
Abschicken und Merken, dass Daten eingehen...
<?php
if(isset($_POST[speichern])){
//Verarbeitung der Formulardaten hier...
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Test Tabelle</title>
<meta charset="ISO-8859-1">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<center>
<form name="test" action="testFormular.php" method="post">
<b>Personendaten</b><br>
<input type="text" name="Vorname" placeholder="Bitte Vornamen eingeben" size="30"><br>
<input type="text" name="Nachname" placeholder="Bitte Nachnamen eingeben" size="30"><br>
<input type="date" name="Geburtsdatum" size="30" placeholder="Bitte Geburtsdatum eingeben"><br>
<input type="email" name="Email" size="30" placeholder="Bitte EMail eingeben"><br>
Geschlecht: <input type=radio name="Geschlecht" value="maennlich"> maennlich <input type=radio name="Geschlecht" value="weiblich"> weiblich <br>
<input type=checkbox name="InfoSegment" value="Newsletter"> ich moechte Newsletter erhalten<br>
<input type=checkbox name="InfoSegment" value="Infomaterial"> ich bin an Infomaterialien interessiert<br>
<input type=checkbox name="InfoSegment" value="AGBs"> ich habe die AGBs gelesen<br>
Bemerkung:<br> <textarea rows="4" cols="50" name="Bemerkung"></textarea>
<input type="submit" name="speichern" value="speichern"><br>
</form>
</center>
</body>
</html>
Szenario:
- Der Speichernknopf wurde vom Benutzer gedrückt. Laut Zeile 26 des Codes ist dies ein input-Feld vom Typ Submit. Das heißt, dass das dazugehörige Formular laut seiner Deklaration ausgeführt wird Zeile 15:
- Wähle die Methode POST. Das heißt schreibe die Formularfelder mit dem Attribut name als Schlüssel und der Eingabe als Wert in das Array der System-Ressource (hier: POST)
- Versende die System-Ressource an die Adresse in dem Attribut action.
- Öffne eine php-Einbettung: Zeile 1 und 5
- Frage nach ob in der System-Ressource POST der Schlüssel "speichern" existiert. Wenn ja, leite die weitere Verarbeitung ein.
Gebe Beispielsweise den Vor- und Nachnamen nach dem Übertragen aus
Einschränkung: Es soll nur eine Ausgabe erfolgen, wenn in beide Felder etwas eingegebn wurde. Es werden dazu Operatoren aus der Liste hier verwendet.
<?php
if (isset($_POST[speichern])) {
if (!empty($_POST[Vorname]) && !empty($_POST[Nachname])) {
echo $_POST[Vorname] . ' ' . $_POST[Nachname];
} else {
echo "Fehler bei der Übertragung detektiert.";
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Test Tabelle</title>
<meta charset="ISO-8859-1">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<center>
<form name="test" action="testFormular.php" method="post">
<b>Personendaten</b><br>
<input type="text" name="Vorname" placeholder="Bitte Vornamen eingeben" size="30"><br>
<input type="text" name="Nachname" placeholder="Bitte Nachnamen eingeben" size="30"><br>
<input type="date" name="Geburtsdatum" size="30" placeholder="Bitte Geburtsdatum eingeben"><br>
<input type="email" name="Email" size="30" placeholder="Bitte EMail eingeben"><br>
Geschlecht: <input type=radio name="Geschlecht" value="maennlich"> maennlich <input type=radio name="Geschlecht" value="weiblich"> weiblich <br>
<input type=checkbox name="InfoSegment" value="Newsletter"> ich moechte Newsletter erhalten<br>
<input type=checkbox name="InfoSegment" value="Infomaterial"> ich bin an Infomaterialien interessiert<br>
<input type=checkbox name="InfoSegment" value="AGBs"> ich habe die AGBs gelesen<br>
Bemerkung:<br> <textarea rows="4" cols="50" name="Bemerkung"></textarea>
<input type="submit" name="speichern" value="speichern"><br>
</form>
</center>
</body>
</html>
Lizenziert unter Creative Commons Attribution Share Alike License 4.0