Frage zum Formular-Tutorial

aleks

Mitglied
Hallo Zusammen,
ich hab mal eine Frage zu folgenden Tutorial: http://www.tutorials.de/forum/showthread.php?t=211405. bzw zu folgenden Teil:
PHP:
<?
/*Wenn Submit gesetzt ist und diese Seite aufgerufen wird, so ist bei der Prüfung der Daten
im vorherigen Skript ein Fehler aufgetreten*/

if(isset($submit)){
    //Hier Fehlermeldung
}

echo '<input type="text" name="input[anrede]" value="'.((isset($input['anrede']))?$input['anrede']:'').'" maxlength="10">
<input type="text" name="input[titel]" value="'.((isset($input['titel']))?$input['titel']:'').'" maxlength="20">
<input type="text" name="input[vorname]" value="'.((isset($input['vorname']))?$input['vorname']:'').'" maxlength="50">
<input type="text" name="input[nachname]" value="'.((isset($input['nachname']))?$input['nachname']:'').'" maxlength="50">
<input type="text" name="input[strasse]" value="'.((isset($input['strasse']))?$input['strasse']:'').'" maxlength="50">
....
<input type="submit" name="submit" value="Daten eintragen">
.
Wie würde denn hier so eine Fehlerbehandlung aussehen. Könnte mir vielleicht jemand an einem Beispiel das zeigen? Wäre echt nett!
 
Folgendes wäre möglich:
PHP:
<?php

	$errors = array();

	if( isset($_POST['submit']) ) {

		if( empty($_POST['input']['anrede']) || trim($_POST['input']['anrede'])=='' ) {
			$errors[] = 'Bitte geben Sie Ihre Anrede an.';
		}
		…

	}

	if( !empty($errors) ) {
		echo '<div class="note error"><ul>';
		foreach( $errors as $item ) {
			echo '<li>'.$item.'</li>';
		}
		echo '</ul></div>';
	} else {
		// Verarbeitung der Daten
	}

	if( !isset($_POST['submit']) || !empty($errors) ) {

		echo '<input type="text" name="input[anrede]" value="'.((isset($_POST['input']['anrede']))?$_POST['input']['anrede']:'').'" maxlength="10">
<input type="text" name="input[titel]" value="'.((isset($_POST['input']['titel']))?$_POST['input']['titel']:'').'" maxlength="20">
<input type="text" name="input[vorname]" value="'.((isset($_POST['input']['vorname']))?$_POST['input']['vorname']:'').'" maxlength="50">
<input type="text" name="input[nachname]" value="'.((isset($_POST['input']['nachname']))?$_POST['input']['nachname']:'').'" maxlength="50">
<input type="text" name="input[strasse]" value="'.((isset($_POST['input']['strasse']))?$_POST['input']['strasse']:'').'" maxlength="50">
....
<input type="submit" name="submit" value="Daten eintragen">';
	}

?>
 
Zurück