Originally posted by Tutor
View Post
PHP Code:
<?php
// Standardmäßig das Formular anzeigen
$showForm = true;
// alle Felder definieren
$required = array("id", "name", "emailAdresse", ...); // Pflichtfelder
$optional = array("vorname", "telefon", ...); // freiwillige Felder
// Formulardatencontainer initialisieren
$data = array();
foreach (array_merge($required, $optional) as $name) {
$data[$name] = isset($_POST[$name]) ? trim($_POST[$name]) : "";
}
// Wenn submitted wurde...
if (isset($_POST["submit"])) {
// erneute Formularanzeige unterdrücken
$showForm = false;
// Fehlerarray initialisieren
$errors = array();
// Pflichtfelder prüfen und in den Formulardatencontainer importieren
foreach ($required as $name) {
$data[$name] = isset($_POST[$name]) ? trim($_POST[$name]) : "";
if (!$data[$name]) {
$errors[] = "Pflichtfeld " . $name . " ist nicht angegeben.";
}
}
// freiwillige Felder in den Formulardatencontainer importieren
foreach ($optional as $name) {
$data[$name] = isset($_POST[$name]) ? trim($_POST[$name]) : "";
}
// weitere Prüfungen auf Sinnhaftigkeit
if (!is_numeric($data["geburtsjahr"])) {
$errors[] = "Geburtsjahr muss numerisch sein."
}
...
// Fehler?
if ($errors) {
// Formular jetzt doch wieder anzeigen ...
$showForm = true;
// aber erstmal die Fehler melden
echo("<div class='errors'><p>");
echo(implode("</p><p>", $errors));
echo("</p></div>");
}
}
if ($showForm) {
// Formular anzeigen
}
?>
Amica
Leave a comment: