<?php
// Verarbeitung nur bei abgesendetem Formuler starten
// Ueberpruefen, ob $_POST NICHT empty ist (deswegen das !)
if (!empty($_POST)) {
// variable $fehler soll array sein also:
$fehler = array();
// Inhaltsprüfungen:
//hier wird ueberpreuft, ob die Textfelder deines formular ueberhaupt ausgefuellt wurden.
// jedoch denke ich, dass es NUR "if(empty($_POST['textfeld'])) {" heissen sollte, da in der naechsten
// if abfrage textfeld 2 ueberprueft wird
if(empty($_POST['textfeld', 'textfeld2'])) {
// nun erhaelt das array $fehler einen Schluessen (textfeld) und einen wert (der String)
// die fehlermeldungen werden gesammelt und spaeter verarbeitet.
$fehler['textfeld'] = 'Es wurden nicht alle Textfelder ausgewüfüllt!';
}
// wie oben nur wird jetzt textfeld 2 ueberprueft
if(empty($_POST['textfeld2'])) {
// siehe oben
$fehler['textfeld'] = 'Es wurden nicht alle Textfelder ausgewüfüllt!';
}
// weitere Prüfungen hier einfügen
if (empty($fehler)) {
// Verarbeitung war erfolgreich
// Weiterleiten beispielsweise zu einer Dankesseite
// ist ja eig gut beschrieben. es wird ueberprueft ob fehler aufgetretten sind (welche ja dann im array $fehler sein sollten)
// wenn nein wird der user weitergeleitet. hier:
http://example.com/danke.php
header("Location:
http://example.com/danke.php");
exit;
} else {
// Ausgabe der gesammelten Fehlermeldungen
// wenn irgendwelche fehler aufgetretten sind werden sie nun mittels foreach schleife ausgewertet und dem user //ausgegeben.
echo "<ul class='errors'>\n";
foreach ($fehler as $feldname => $meldung) {
printf("<li>%s</li>\n", htmlspecialchars($meldung));
}
echo "</ul>\n";
}
}
?>
<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post">
<input type="submit" name="submit" value="Absenden" />
</form>