Hallöchen!
Ich habe mir dank diesen Forums und ein bischen Spielerei einen Formmailer mit PHP zusammengebastelt.
Nun geht es darum, dass manche Felder ausgefüllt sein müssen und bei leerlassen des Feldes eine Fehlermeldung vor dem Formular ausgegeben wird.
Funktioniert alles soweit gut, jedoch habe ich eine Frage zwecks ausgabe der Fehler.
Derzeit werden alle Fehler in die Variable $fehler geschrieben, wobei immer nur ein Fehler ausgegeben wird und nicht alle.
Wie kann ich das berichtigen, ohne für jeden Fehler eine eigene Variable und deren Ausgabe beschreiben zu müssen?!?
für eine online Besichtigung habe ich das Dokument auch unter folgenden Adresse online gestellt:
http://www.schaufler.cc/test/Buchen.php
anbei der Quellcode (gekürzt) des betreffenden Dokuments:
<?php
Konfiguration
Bitte passen Sie die folgenden Werte an, bevor Sie das Script benutzen!
An welche Adresse sollen die Mails gesendet werden?
$strEmpfaenger = 'cinemaster@XX.net';
Welche Adresse soll als Absender angegeben werden?
(Manche Hoster lassen diese Angabe vor dem Versenden der Mail ueberschreiben)
$strFrom = '"C4Y Homepage" homepage@XX.com';
Welchen Betreff sollen die Mails erhalten?
$strSubject = 'Anmeldung';
Zu welcher Seite soll als "Danke-Seite" weitergeleitet werden?
Wichtig: Sie muessen hier eine gueltige HTTP-Adresse angeben!
$strReturnhtml = 'http://www.schaufler.cc/test/AnmeldungFeedback.htm';
Welche(s) Zeichen soll(en) zwischen dem Feldnamen und dem angegebenen Wert stehen?
$strDelimiter = ":\t";
Ende Konfiguration
$allesok = "";
$fehler = "";
$Nachname = isset($_POST['nachname']) ? $_POST['nachname'] : '';
$Vorname = isset($_POST['vorname']) ? $_POST['vorname'] : '';
$Adresse = isset($_POST['adresse']) ? $_POST['adresse'] : '';
$PLZ = isset($_POST['plz']) ? $_POST['plz'] : '';
$Ort = isset($_POST['ort']) ? $_POST['ort'] : '';
$Telefon = isset($_POST['tel']) ? $_POST['tel'] : '';
$Email = isset($_POST['email']) ? $_POST['email'] : '';
$Geburtsdatum = isset($_POST['geburtsdatum']) ? $_POST['geburtsdatum'] : '';
$Eltern = isset($_POST['eltern']) ? $_POST['eltern'] : '';
$Abreiseort = isset($_POST['abreiseort']) ? $_POST['abreiseort'] : '';
$Kurs = isset($_POST['kurs']) ? $_POST['kurs'] : '';
// weitere Formularfelder
// Abfrage ob ein Senden gedrückt wurde
if($_POST)
{
$allesok = 1;
// Button wurde gedrückt
if (empty($Vorname)) {$allesok=0;$fehler="Vorname fehlt! \n";}
elseif (empty($Nachname)) {$allesok=0;$fehler="Nachname fehlt! \n";}
elseif (empty($Adresse)) {$allesok=0;$fehler="Adresse fehlt! \n";}
elseif (empty($PLZ)) {$allesok=0;$fehler="Postleitzahl fehlt! \n";}
elseif (empty($Ort)) {$allesok=0;$fehler="Telefonnummer fehlt! \n";}
elseif (empty($Telefon)) {$allesok=0;$fehler="Ort fehlt! \n";}
elseif (empty($Email)) {$allesok=0;$fehler="E-Mail fehlt! \n";}
elseif (empty($Geburtsdatum)) {$allesok=0;$fehler="Geburtsdatum fehlt! \n";}
elseif (empty($Eltern)) {$allesok=0;$fehler="Erziehungsberechtigter fehlt! \n";}
elseif (empty($Abreiseort)) {$allesok=0;$fehler="Abreiseort fehlt! \n";}
elseif (empty($Kurs)) {$allesok=0;$fehler="Kurs fehlt! \n";}
}
// wenn Überprüfung ok und Eingaben vorhanden dann
if($allesok){
$strMailtext = "Buchungsformular \n \n \n";
while(list($strName,$value) = each($_POST))
{
if(is_array($value)) {
foreach($value as $value_array)
{
$strMailtext .= $strName.$strDelimiter.$value_array."\n \n";
}
} else {
$strMailtext .= $strName.$strDelimiter.$value."\n \n";
}
}
if(get_magic_quotes_gpc()) {
$strMailtext = stripslashes($strMailtext);
}
mail($strEmpfaenger, $strSubject, $strMailtext, "Absender: ".$strFrom)
or die("Die Mail konnte nicht versendet werden.");
header("Location: $strReturnhtml");
exit;
} else {
// ansonsten Anzeigen des Formulars
?>
....
<h2>Anmeldeformular!</h2>
<p>Bitte fülle alle Felder im Anmeldeformular aus und klicke auf "Abschicken". Wir senden dir innerhalb einer Woche eine Buchungsbestätigung und einen Zahlschein für die Anzahlung. Mit dem Absenden des Formulars gelten die<a href="ElternAGB.htm" style="text-decoration:none; color:#ED171F"> AGBs</a> als aktzeptiert. </p>
<p style="font-weight:bold; color:#ED171F; text-decoration:underline;"><?php print $fehler;?></p>
<p style="font-weight:bold; color:#ED171F;">Schülerdaten</p>
<form action="<?php print $_SERVER['PHP_SELF']; ?>" method="post">
<label style="float:left; text-align:right; width:130px; margin-right:5px;">Vorname:</label><input type="text" name="vorname" value="<? echo $Vorname ?>" style="background-color:#B4D1E9; width:150px;"/>
<label style="text-align:right; width:130px; margin-right:5px;">Nachname:</label><input type="text" name="nachname" value="<? echo $Nachname ?>" style="background-color:#B4D1E9; width:150px;"/>
<p></p>
<label style="float:left; text-align:right; width:130px; margin-right:5px;">Adresse:</label><input type="text" value="<? echo $Adresse ?>" name="adresse"style="background-color:#B4D1E9; width:376px;"/>
<p></p>
<label style="float:left; text-align:right; width:130px; margin-right:5px;">PLZ:</label><input type="text" name="plz" value="<? echo $PLZ ?>" style="background-color:#B4D1E9; width:150px;"/>
<label style="text-align:right; width:130px; margin-right:5px; margin-left:45px;">Ort:</label><input type="text" name="ort" value="<? echo $Ort ?>" style="background-color:#B4D1E9;width:150px;"/>
<p></p>
<label style="float:left; text-align:right; width:130px; margin-right:5px;">Tel:</label><input type="text" name="tel" value="<? echo $Telefon ?>" style="background-color:#B4D1E9; width:150px;"/>
<label style="text-align:right; width:130px; margin-right:5px; margin-left:27px;">E-Mail:</label><input type="text" name="email" value="<? echo $Email ?>" style="background-color:#B4D1E9;width:150px;"/>
<p></p>
<label style="float:left; text-align:right; width:130px; margin-right:5px;">Geboren am:</label><input type="text" name="geburtsdatum" value="<? echo $Geburtsdatum ?>" style="background-color:#B4D1E9;width:150px;"/>
<label style="text-align:right; width:130px; margin-right:5px;">Geschlecht:</label><input type="radio" id="geschlecht" name="geschlecht" value="Männlich" />Männlich<input type="radio" name="sexus" value="Weiblich" />Weiblich
<p></p>
<label style="float:left; text-align:right; width:130px; margin-right:5px;">Besonderes:</label><input type="text" name="besonderes"style="background-color:#B4D1E9; margin-left:3px; width:376px;"/>
<br/>(z.B: Allergien, Krankheiten, Essstörungen, usw.)
<p></p>
<label style="float:left; text-align:right; width:130px; margin-right:5px;">Ermäßigung für Geschwister:</label><input type="text" name="geschwister"style="background-color:#B4D1E9; margin-left:3px; width:376px;"/>
<br/>(bitte gib die Namen deiner teilnehmenden Geschwister an)
<p></p>
<label style="float:left; text-align:right; width:130px; margin-right:5px;">Bring-a-friend Bonus:</label><input type="text" name="freunde"style="background-color:#B4D1E9; margin-left:3px; width:376px;"/>
<br/>(bitte gib die Namen deiner teilnehmenden Freunde/innen an)
<p style="font-weight:bold; color:#ED171F;">Elterndaten</p>
<label style="float:left; text-align:right; width:130px; margin-right:5px;">Erziehungsberechtigter:</label><input type="text" name="eltern" value="<? echo $Eltern ?>" style="background-color:#B4D1E9; width:150px;"/>
<label style="text-align:right; width:130px; margin-right:5px;margin-left:15px;">Tel. Büro:</label>
<input type="text" name="bueronummer" style="background-color:#B4D1E9; width:150px;"/>
<p style="font-weight:bold; color:#ED171F;">Kursdaten</p>
<label style="float:left; text-align:right; width:90px; margin-right:5px;">Abreiseort:</label>
<select name="abreiseort" size="1" style="background-color:#B4D1E9; width:515px;">
...
</form>
...
<?
// Schließen der Abfrage
} ?>
Danke & Lg.
Lukas Schaufler