Eine der mächtigsten Funktionen von PHP ist die Art, wie HTML-Formulare verarbeitet werden. Sie sollten wissen, dass jedes Element eines Formulars automatisch in Ihren PHP-Skripts verfügbar ist. Bitte lesen Sie die Seite Variablen aus externen Quellen für weitere Informationen und Beispiele über die Verwendung von Formularen mit PHP. Hier ist ein HTML-Beispielformular:
Beispiel #1 Ein einfaches HTML-Formular
<form action="action.php" method="post"> <label for="name">Ihr Name:</label> <input name="name" id="name" type="text"> <label for="age">Ihr Alter:</label> <input name="alter" id="alter" type="number"> <button type="submit">Submit</button> </form>
An diesem Formular ist nichts Besonderes. Es ist ein normales HTML-Formular ohne irgendwelche speziellen Tags. Wenn der Benutzer das Formular ausfüllt und den Submit-Button anklickt, wird die Seite action.php aufgerufen. Diese Datei könnte so aussehen:
Beispiel #2 Daten des Formulars ausgeben
Hallo <?php echo htmlspecialchars($_POST['name']); ?>.
Sie sind <?php echo (int)$_POST['alter']; ?> Jahre alt.
Die Ausgabe des Skripts könnte dann so aussehen:
Hallo Joe. Sie sind 22 Jahre alt.
Abgesehen von den beiden Teilen htmlspecialchars() und
(int)
sollte einfach zu verstehen sein, was hier
geschieht. htmlspecialchars() stellt sicher, dass die
Zeichen, die in HTML eine spezielle Bedeutung haben, ordentlich kodiert
werden, sodass niemand HTML-Tags oder Javascript-Code in Ihre Seite
einschmuggeln kann. Da wir wissen, dass das Feld "alter" eine Zahl
enthalten soll,
konvertieren wir es in
einen Integer-Wert, wodurch automatisch überflüssige Zeichen entfernt
werden. Sie können diese Aufgabe auch PHP überlassen, indem Sie die
Filter-Erweiterung verwenden. Die
Variablen $_POST['name'] und
$_POST['alter'] werden für Sie automatisch von PHP
gesetzt. Weiter oben haben wir das superglobale Array
$_SERVER eingeführt, jetzt verwenden wir hier das -
ebenfalls superglobale - Array $_POST, welches alle
POST-Daten enthält. Beachten Sie, dass die im Formular verwendete
Methode POST ist. Hätten wir GET
verwendet, wären die Daten unseres Formulars stattdessen im superglobalen
Array $_GET verfügbar. Sie können auch das superglobale
Array $_REQUEST verwenden, wenn die Quelle der Daten
keine Rolle spielt. Dieses Array enthält die GET-, POST- und COOKIE-Daten.
Sie können ebenfalls die Eingaben von XForms in PHP verarbeiten, auch wenn Ihnen die von PHP unterstützten HTML-Formulare bisher gut gereicht haben. Auch wenn die Arbeit mit XForms nichts für Anfänger ist, sind Sie vielleicht trotzdem daran interessiert. In unserem Features-Kapitel finden Sie eine kurze Einführung in die Verarbeitung von XForms-Daten.