Informatik :: PHP + MySQL :: Formulare in PHP

Formulare in PHP

[Einfache Formulare] [Sich selbst aufrufende Formulare]

  Aufgaben

[1] [2] [3]

Einfache Formulare

Die Formulardatei (eine beliebige HTML Datei, die erst mal noch gar nichts mit PHP zu tun hat) enthalte:

     <form action="meldedich.php" method="post">
        <input name="wort">
        <input type="submit" value="senden">
     </form>

Man sieht sofort:
Beim Klicken auf den Submit - Button wird die Datei meldedich.php aufgerufen. Dieser wird dann der Wert des Formularelementes mit dem Namen "wort" übergeben.
Die Datei meldedich.php könnte dann etwa so aussehen:

 <?
        echo "Sie haben gerade $_POST[wort] eingegeben.";
 /?>

Erlärung:
Der Text, der in das Formularfeld mit dem Namen wort auf der Clientseite eingegeben und anschließend an die Datei meldedich.php, die auf dem entfernten Webserver geschickt wurde, ist dort an die PHP-Variable $_POST["wort"] übergeben worden und wird nun mit dem Echo-Befehl an den Clienten zurückgeschickt und im Browserfenster ausgegeben.

Prinzip der dynamischen HTML-Seitenerzeugung:
Individuelle Daten werden auf der Clientseite in eine statische HTML-Seite in Formularfeldern mit konkreten Bezeichnern (Namen) eingegeben und per Submitbutton an die PHP-Datei auf dem entfernten Webserver gesendet.
Wichtig dabei ist, dass innerhalb des form-Tags action="PHP-Datei" und method="post" notiert ist.
Auf dem Webserver angekommen, werden alle übermittelten Formulardaten automatisch in ein so genanntes assoziatives Array ausgelesen. Dieses assoziative Array hat immer die Form $_POST["Formulardatenbezeichner"]. Zum Schluss wird auf dem Server mit Hilfe des echo-Befehles innerhalb der PHP-Datei HTML-Code generiert, der wieder an den Clienten (Browser) gesendet wird und dort eine entsprechende (dynamische) HTML-Seite erzeugt.

Hinweise:


Seitenanfang

Sich selbst aufrufende Formulare

Auch hier passiert fast das gleiche: Aber diesmal wird beim Absenden die gleiche Datei wieder selbst aufgerufen (durch die Variable $PHP_SELF wird der Dateiname ermittelt). Man kann natürlich auch gleich den Namen angeben.

    <!--------Formular--------------------------------------->
    <form action="<? $PHP_SELF; ?>" method="post">
        <input name="wort">
        <input type="submit" value="senden">
    </form>

    //--------Auswertung----------------------------------------
    <?
      if (isset($_POST["wort"])) {
         echo "Sie haben gerade $_POST[wort] eingegeben.";
      }
    ?>

Im zweiten Teil der gleichen Datei erfolgt dann die Auswertung der Variablen von PHP aus. Und nur dann, wenn sie einen Wert enthält, - wird mit if (isset($_POST["wort"])) geprüft - kommt es zu einer Ausgabe des Satzes. Diese Abfrage ist nötig, weil ja beim ersten Aufruf der Datei die Variable noch keinen Wert enthält.


Seitenanfang

Aufgabe 1

  1. Erstelle zunächst die HTML-Datei form1a.html, die folgendes Eingabeformular darstellt.

    Die Formulardaten sollen beim Senden an die PHP-Datei form1b.php geschickt werden.

  2. Erstelle nun die PHP-Datei form1b.php, die die übermittelten Formulardaten in einen Text einbindet.

    Außerdem erhält sie einen Klick-Button, der die vorherige Formulardatei erneut lädt.  

  3. Aus Gründen der Datensicherheit ist es häufig notwendig, vor dem Absenden der Formulardaten sicher zu stellen, dass auch alle Formularfelder ausgefüllt worden sind.
    Diese Aufgabe haben wir im Kapitel Formulare unter JavaScript bereits gelöst.
    Ergänze die nötigen Angaben in der HTML-Datei form1a.html!  

  4. Nun sollen die übermittelten Formulardaten wieder in ein Formular eingebunden werden, um nach einer eventuellen Korrektur erneut gesendet und z.b. in einer Datenbank gespeichert zu werden.
    Erstelle dazu die PHP-Datei form1d.php, die folgendes Formular darstellt:
      

Aufgabe 2

Das gleiche Poblem wie in Aufgabe 1 soll jetzt mit einem sich selbst aufrufenden Formular gelöst werden.
Erstelle dazu die PHP-Datei form2.php, die ein sich selbst aufrufendes Formular enthält und folgendes realisiert:

  1. Beim ersten Aufruf - if (!isset($_POST["Name"])) - soll das normale Eingabe-Formular erscheinen:

  2. Beim zweiten Aufruf - if (isset($_POST["Name"])) - sollen die übermittelten Formulardaten wieder in ein Formular eingebunden werden:
      

Aufgabe 3

Mittels eines Formulars sollen folgende Daten eines Geschäftskunden erfasst werden:

Bei der Erfassung der Daten ist dafür Sorge zu tragen, dass alle mit * gekennzeichneten Felder ausgefüllt werden müssen.
Nach dem erstmaligen Senden der Daten soll der Kunde die Möglichkeit haben, die übermittelten Daten zu korrigieren und endgültig zu senden.
Die gesendeten Daten sollen in Textform ausgegeben werden.

Hinweis:

Für das Formular kannst du eine Kopie von der Lösung der Aufgabe zum Thema "Interaktive Formulare mit JavaScript" verwenden.  


Seitenanfang