Navigation überspringen

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:

  1. 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:
    1. 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)
    2. Versende die System-Ressource an die Adresse in dem Attribut action.
  2. Öffne eine php-Einbettung: Zeile 1 und 5
  3. 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>