PHP-Grundlagen: Formulare und PHP Teil 2

Ziel: Feldkontrolle

Nachdem im ersten Teil ein Textfeld verarbeitet wurde, wird nun dieses Textfeld einer Kontrolle unterzogen. Nur wenn das Textfeld Inhalt aufweist, ist der Vorgang erfolgreich abgeschlossen, andernfalls gibt es eine Fehlermeldung. Auf diese Art und Weise werden Formulare sehr einfach automatisiert kontrolliert, etwa bei Pflichtfeldern in Formularen.

Formular als Vorlage

<?php
if($abgeschickt == 1) {
if($fehler == 0) {
echo "<p>Sie haben den Namen $name eingetragen.</p>";
} else {
echo "<p>Sie haben nichts eingegeben!</p>";
}
} else {
echo "<form method='POST' action=". $PHP_SELF.">";
echo "<input type='text' name='name' /><br />";
echo "<input type='submit' value='Abschicken!' />";
echo "</form>";
}
?>

Fehlerkontrolle per PHP

Das Formular ist ident mit Teil 1 und beinhaltet nur das Feld mit name als Definition. Im ersten Teil wurde einfach erkannt, ob das Feld abgeschickt worden ist. Jetzt soll diese Handlung erweitert werden.

<?php
if($_SERVER["REQUEST_METHOD"] == "POST") {
$name = $_POST["name"];
// Fehlerprüfung
$fehler = 0;
if($name == "") {
$fehler = 1;
}
if($fehler == 0) {
$abgeschickt = 1;
}
}
?>

Erläuterungen zum Beispiel

In diesem zweiten Teil der Schritt-für-Schritt-Lösung ist das Datenfeld das gleiche geblieben, auch die Abfrage, ob es abgeschickt wurde, ist gleich, aber die Ergänzung findet sich danach durch eine Fehlerabfrage. Denn im ersten Teil des Beispiels haben wir nur abgefragt, ob das Formular verschickt wurde. Wir haben uns nicht darum gekümmert, ob überhaupt etwas eingegeben wurde.

Das wurde nun nachgeholt. Die Variable $fehler ist unsere Kontrollinstanz. Ist das Formular abgeschickt worden, dann wird wieder $name angelegt und mit dem Inhalt des Formularfeldes name bestückt. Danach wird abgefragt, ob $name nun Inhalt besitzt. Wenn jemand auch nur ein Zeichen eingegeben hat, ist Inhalt da und die Bedingung erfüllt. Ist $name aber leer, weil nichts eingegeben wurde, dann gibt es einen Fehler und $fehler wird auf 1 geschaltet.

In Teil 1 haben wir $abgeschickt = 1 eingestellt, um den Versand zu bestätigen. Das machen wir jetzt nicht mehr. Nur wenn $fehler = 0 vorliegt, also wenn das Formular abgeschickt wurde und auch wirklich Daten eingetragen wurden, wird der Versand bestätigt.

Damit gibt es jetzt drei Situationen:

a) Der Besucher hat seinen Namen in das Formular eingetragen und bekommt ($abgeschickt == 1 && $fehler == 0) die Bestätigung mit dem Ausgabesatz aus Beispiel 1 und seinem Namen.

b) Der Besucher hat das Formular abgeschickt, aber nichts eingegeben. In dem Fall ($fehler = 1) gibt es eine Fehlermeldung, dass er nichts eingegeben hatte und er bekommt das Formular wieder angezeigt, um es nochmals zu versuchen.

c) Der Besucher ruft die Seite gerade erst auf und sieht das Formular, um seine Eingabe durchzuführen.

Diesen Artikel teilen

Kategorien

Grundlagen
HTML-Grundlagen
CSS-Grundlagen
Javascript-Grundlagen
PHP-Grundlagen
MySQL-Grundlagen
SEO-Grundlagen

Infos, Tipps, Vermarktung
Webdesign-Lexikon
Online-Werbung
PHP-Codeschnipsel