Formular Pflichtfelder

PHP:
if(empty($_POST['feld']))
{
    echo "Fehler";
}
else
{
    //Bearbeite Daten
}
Vorher die $_POST Variablen noch durch ein [phpf]trim[/phpf] jagen, damit Leerzeichen am Anfang und am Ende entfernt werden.
Wenn du mehrere Felder überprüfen willst, und für jedes Feld individuelle Fehlermeldungen ausgeben möchtest, ist es am besten, du speicherst di Fehlermeldungen in einem Array, und setzt für jeden Fehler in einem anderen Array den entsprechenden Index auf true. Wenn dann ein true im Array vorkommt, dann kannst du die entsprechenden Felhermeldungen ausgeben, wenn nicht, dann die Daten verarbeiten.
 
Hallo zusammen.

Vielleicht interessiert es noch jemanden. Habe es mit einer kontakt.php, welche PHP-Code und HTML Code beinhaltet, gelöst:

HTML:
<?php

//error_reporting(E_ALL);

$empfaenger="xxx<xxx@xxx.de>";
$pagename="kontakt.php";
setlocale (LC_TIME, "de_DE");

  $monate = array(1=>"Januar",
                  2=>"Feber",
                  3=>"M&auml;rz",
                  4=>"April",
                  5=>"Mai",
                  6=>"Juni",
                  7=>"Juli",
                  8=>"August",
                  9=>"September",
                  10=>"Oktober",
                  11=>"November",
                  12=>"Dezember");
$monat = date("n");
$tag = date("d");
$jahr = date("Y");
$datum = $tag.'.'.$monate[$monat].' '.$jahr;
$zeit = date("H:i");



$error=$vorname=$nachname=$strasse=$plz=$ort=$email=$telefon=$telefax=$email_betreff=$angabe="";


$strReturnhtml = 'http://www.xxx.de/danke.htm';

if(isset($_POST['senden'])) {
	// es wurde abschicken gedrückt, also erst mal die Felder holen
	$anrede=get_magic_quotes_gpc() ? stripslashes($_POST['anrede']) : $_POST['anrede'];
	$vorname=get_magic_quotes_gpc() ? stripslashes($_POST['vorname']) : $_POST['vorname'];
	$nachname=get_magic_quotes_gpc() ? stripslashes($_POST['nachname']) : $_POST['nachname'];
	$strasse=get_magic_quotes_gpc() ? stripslashes($_POST['straße']) : $_POST['straße'];
	$plz=get_magic_quotes_gpc() ? stripslashes($_POST['plz']) : $_POST['plz'];
	$ort=get_magic_quotes_gpc() ? stripslashes($_POST['ort']) : $_POST['ort'];
	$telefon=get_magic_quotes_gpc() ? stripslashes($_POST['telefon']) : $_POST['telefon'];
	$telefax=get_magic_quotes_gpc() ? stripslashes($_POST['telefax']) : $_POST['telefax'];
	$email=get_magic_quotes_gpc() ? stripslashes($_POST['email']) : $_POST['email'];
	$email_betreff=get_magic_quotes_gpc() ? stripslashes($_POST['betreff']) : $_POST['betreff'];
	$woher=get_magic_quotes_gpc() ? stripslashes($_POST['woher']) : $_POST['woher'];
	$angabe=get_magic_quotes_gpc() ? stripslashes($_POST['angabe']) : $_POST['angabe'];

	//Message setzt sich aus allen Eingaben zusammen
	$message=get_magic_quotes_gpc() ? stripslashes($_POST['nachricht']) : $_POST['nachricht'];

	//Form-Attacken verhindern (suche nach \r\n oder \n)
	if(strpos($vorname,"\r\n")>0 || strpos($vorname,"\n")>0) {
		DebugAttack(substr($vorname,strpos($vorname,"\r\n")));
		$vorname="";
	}
	if(strpos($nachname,"\r\n")>0 || strpos($nachname,"\n")>0) {
		DebugAttack(substr($nachname,strpos($nachname,"\r\n")));
		$nachname="";
	}
	if(strpos($strasse,"\r\n")>0 || strpos($strasse,"\n")>0) {
		DebugAttack(substr($strasse,strpos($strasse,"\r\n")));
		$strasse="";
	}
	if(strpos($plz,"\r\n")>0 || strpos($plz,"\n")>0) {
		DebugAttack(substr($plz,strpos($plz,"\r\n")));
		$plz="";
	}
	if(strpos($ort,"\r\n")>0 || strpos($ort,"\n")>0) {
		DebugAttack(substr($ort,strpos($ort,"\r\n")));
		$ort="";
	}
	if(strpos($telefon,"\r\n")>0 || strpos($telefon,"\n")>0) {
		DebugAttack(substr($telefon,strpos($telefon,"\r\n")));
		$telefon="";
	}
	if(strpos($telefax,"\r\n")>0 || strpos($telefax,"\n")>0) {
		DebugAttack(substr($telefax,strpos($telefax,"\r\n")));
		$telefax="";
	}
	if(strpos($email,"\r\n")>0 || strpos($email,"\n")>0) {
		DebugAttack(substr($email,strpos($email,"\r\n")));
		$email="";
	}
	if(strpos($email_betreff,"\r\n")>0 || strpos($email_betreff,"\n")>0) {
		DebugAttack(substr($email_betreff,strpos($email_betreff,"\r\n")));
		$email_betreff="";
	}
	if(strpos($angabe,"\r\n")>0 || strpos($angabe,"\n")>0) {
		DebugAttack(substr($angabe,strpos($angabe,"\r\n")));
		$angabe="";
	}


	
	$ok=true;
	
	if (strlen($nachname)<3) // der Name muss mindestens 3 Zeichen haben
	{
		$err[0]=true; //Fehler merken
		$ok=false;    //Fehlerflag setzen
		$error_0='Bitte geben Sie Ihren Namen an. (mindestens 3 Zeichen)<br>'; // Fehlertext
	}

	if ( (!(eregi('^[a-z0-9_\.-]+@[a-z0-9_-]+\.[a-z0-9_\.-]+$',$email))) && (strlen($email)>0) || $email=="")
	{
		//email-Adresse ist ungültig
		$err[1]=true;
		$ok=false;
		$error_1='Bitte kontrollieren Sie die angegebene E-Mail-Adresse.<br>';
	}

	if ( (!(preg_match("#^[ 0-9\/-]{4,}+$#",$telefon))) && (strlen($telefon)>0) || $telefon=="")
	{
		//Telefon zu kurz oder keine angegeben ist ungültig
		$err[4]=true;
		$ok=false;
		$error_4='Bitte kontrollieren Sie die angegebene Telefonnummer.<br>';
	}

	if (strlen($email_betreff)<3) // der Betreff muss mindestens 3 Zeichen haben
	{
		$err[3]=true; //Fehler merken
		$ok=false;    //Fehlerflag setzen
		$error_3='Bitte geben Sie einen passenden Betreff an. (mindestens 3 Zeichen)<br>'; // Fehlertext
	}

	if (strlen($nachricht)<10) // die Message muss mindestens 10 Zeichen haben
	{
		$err[2]=true; //Fehler merken
		$ok=false;    //Fehlerflag setzen
		$error_2='Bitte geben Sie eine Message von mindestens 10 Zeichen ein.<br>'; // Fehlertext
	}
	// ist alles ok ? dann senden
	if($ok)
	{
		//Mail komponieren
		$mailheader="From: $nachname <$email>\r\nX-Mailer: PHP/" . phpversion(). "\r\nX-Sender-IP: ".$_SERVER['REMOTE_ADDR']."\r\nContent-Type: text/html; charset=ISO-8859-1;";
       	
       	       	$message=nl2br("<table colspan='2'><font face='arial' size='2'><tr><td>Anfrage vom <b>$datum</b> um <b>$zeit</b> von der Homepage www.xxx.de</b></tr></td></font></table>
       	       	<table valign='top' border='0' cellspacing='0' cellpadding='2'><font face='arial' size='2'>
       	        <tr><td colspan='2' valign='top' width='100' height='10'>&nbsp;</td></tr>
       	        <tr><td valign='top' width='100' height='10'><b>Anrede</b>:</td><td valign='top'>$anrede</td></tr>
       	       	<tr><td valign='top' width='100' height='10'><b>Vorname</b>:</td><td valign='top'>$vorname</td></tr>
				<tr><td valign='top' width='100' height='10'><b>Nachname</b>:</td><td valign='top'>$nachname</td></tr>
				<tr><td valign='top' width='100' height='10'><b>Straße</b>:</td><td valign='top'>$straße</td></tr>
				<tr><td valign='top' width='100' height='10'><b>PLZ</b>:</td><td valign='top'>$plz</td></tr>
				<tr><td valign='top' width='100' height='10'><b>Ort</b>:</td><td valign='top'>$ort</td></tr>
				<tr><td valign='top' width='100' height='10'><b>Telefon</b>:</td valign='top'><td>$telefon</td></tr>
				<tr><td valign='top' width='100' height='10'><b>Telefax</b>:</td valign='top'><td>$telefax</td></tr>
				<tr><td valign='top' width='100' height='10'><b>Email</b>:</td><td valign='top'>$email</td></tr>
				<tr><td valign='top' width='100' height='10'><b>Betreff</b>:</td><td valign='top'>$email_betreff</td></tr>
				<tr><td valign='top' width='100' ><b>Nachricht</b>:</td><td valign='top'>$nachricht</td></tr>
				<tr><td valign='top' width='100' height='10'><b>Woher</b>:</td><td valign='top'>$woher</td></tr>
				<tr><td valign='top' width='100' height='10'><b>Angabe</b>:</td><td valign='top'>$angabe</td></tr>
				<tr><td colspan='2' valign='top' width='100' height='10'>&nbsp;</td></tr></table></font>");


		$subject=$email_betreff;

       @mail($empfaenger, $subject, $message, $mailheader);
		header("Location: $strReturnhtml");
	} else {
		// Fehler ausgeben

		}
}
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><meta http-equiv="content-type" content="text/html;charset=iso-8859-1">

<body bgcolor="#69A3BA">

<?php
if($error!="") echo $error;
//Erfolgsnachricht ausgeben
// Form ausgeben
?>

</tr> <form action="<?php echo $pagename;?>" method="post" name="kontakt">

<tr>
<td class="text">Anrede:</td>
<td>&nbsp;</td>
<td><select name="anrede" class="auswahl" size="1">
<option value="Herr">Herr</option>
<option value="Frau">Frau</option>
<option value="Firma">Firma</option>

</select></td>
</tr>
<tr>
<td class="txt">Vorname:</td>
<td>&nbsp;</td>
<td><input type="text" maxlength="80" size="38" name="vorname" value="<?php echo $vorname;?>"></td>
</tr>
<tr>
<fieldset>
<td class="txt">Nachname:*</td>
<td>&nbsp;</td>
<td><input type="text" maxlength="80" size="38" name="nachname" value="<?php echo $nachname;?>" <?php if(isset($err[0])) echo  'class="fehler"';?>></td>
<td><?php if(isset($err[0])) echo $error_0;?></td>
</tr>
<tr>
<td class="txt">Straße:</td>
<td>&nbsp;</td>
<td><input type="text" maxlength="80" size="38" name="straße" value="<?php echo $straße;?>"></td>
</tr>
<tr>
<td class="txt">PLZ:</td>
<td>&nbsp;</td>
<td><input type="text" maxlength="80" size="38" name="plz" value="<?php echo $plz;?>"></td>
</tr>
<tr>
<td class="txt">Ort:</td>
<td>&nbsp;</td>
<td><input type="text" maxlength="80" size="38" name="ort" value="<?php echo $ort;?>"></td>
</tr>
<tr>
<td class="txt">Email:*</td>
<td>&nbsp;</td>
<td><input type="text" maxlength="80" size="38" name="email" value="<?php echo $email;?>" <?php if(isset($err[1])) echo  'class="fehler"';?>></td>
<td><?php if(isset($err[1])) echo $error_1;?></td>
</tr>
<tr>
<td class="txt">Telefon:*</td>
<td>&nbsp;</td>
<td><input type="text" maxlength="80" size="38" name="telefon" value="<?php echo $telefon;?>" <?php if(isset($err[4])) echo  'class="fehler"';?>></td>
</tr>
<tr>
<td class="txt">Telefax:</td>
<td>&nbsp;</td>
<td><input type="text" maxlength="80" size="38" name="telefax" value="<?php echo $telefax;?>"></td>
</tr>
<tr>
<td class="txt">Betreff:*</td>
<td>&nbsp;</td>
<td><input type="text" maxlength="80" size="38" name="betreff" value="<?php echo $betreff;?>" <?php if(isset($err[3])) echo  'class="fehler"';?>></td>
<td><?php if(isset($err[3])) echo $error_3;?></td>
</tr>
<tr>
<td valign="top" class="txt" colspan="2">Nachricht:*</td>
<td><textarea cols="30" rows="10" name="nachricht" <?php if(isset($err[2])) echo  'class="fehler"';?>><?php echo $nachricht;?></textarea></td>
<td><?php if(isset($err[2])) echo $error_2;?></td>
</tr>
<tr>
<tr>
<td class="text">Wie haben Sie uns gefunden:</td>
<td>&nbsp;</td>
<td><select name="woher" class="auswahl" size="1">
<option value="Suchmaschine">Suchmaschine (bitte unten mit angeben)</option>
<option value="Internetseite">Internetseite (bitte unten mit angeben)</option>
<option value="Händlerverzeichnis">Händlerverzeichnis</option>
<option value="Persönlicher Tipp">Persönlicher Tipp</option>
<option value="Werbebanner">Werbebanner</option>
<option value="Sonstiges">Sonstiges (bitte unten mit angeben)</option>
<option value="Weiß nicht mehr">Weiß nicht mehr</option>

</select></td>

</tr>
<tr>
<tr>
<td class="txt"></td>
<td>&nbsp;</td>
<td><input type="text" size="38" name="angabe" value=""></td>
</tr>
<tr>

<td>&nbsp;</td>
<td>&nbsp;</td>

<td ><input type=submit name="senden" value="senden" id="schaltflaeche1"></td>


</tr>
</fieldset>
</form>
<tr>
<td colspan="3"><img src="/de_media/allgemein/visuals/dot.gif" width="1" height="10"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td class="txt">* Bitte ausfüllen. (Pflichtfeld)</td>
</tr>
<tr>
<td colspan="3"><img src="/de_media/allgemein/visuals/dot.gif" width="1" height="20"></td>
</tr>
</table>

</body>
</html>

Viele Grüße

Mestro
 
Zurück