Hallo!
Auch, wenn ich nicht weiß, welchen Sinn das Ganze haben soll,
hast du hier deinen bearbeiteten Quellcode:
PHP-Code:
<?php
// wenn das Formular übermittelt wurde
if(isset($_POST['abschicken'])){
while(list($feld,$wert)=each($HTTP_POST_VARS)){
// übermittelte Inhalte "entschärfen"
$wert=preg_replace("/(content-type:|bcc:|cc:|to:|from:)/im", "",$wert);
$$feld=$wert;
// die übermittelten Variablen werden zum "Text der Email" zusammengefasst
if($feld!="abschicken"){
$mailnachricht.=ucfirst($feld).": $wert\n";
}
}
$mailnachricht.="\nDatum/Zeit: ". date("d.m.Y H:i:s");
// Überprüfen ob alle Pflichtfelder gefüllt sind
empty($nachname) ? $err[] = "<p>- Bitte den Nachnamen angeben.</p>" : false;
strlen($nachname) != 4 ? $err[] = "<p>- Der Nachnamen darf nur 4 Zeichen lang sein.</p>" : false;
empty($vorname) ? $err[] = "<p>- Bitte den Vornamen angeben.</p>" : false;
strlen($vorname) != 4 ? $err[] = "<p>- Der Vornamen darf nur 4 Zeichen lang sein.</p>" : false;
empty($email) ? $err[] = "<p>- Bitte die Email-Adresse angeben.</p>" : false;
strlen($email) != 4 ? $err[] = "<p>- Die E-Mail-Adresse darf nur 4 Zeichen lang sein.</p>" : false;
empty($text) ? $err[] = "<p>- Welchen Wunsch haben Sie? Bitte den Text eingeben.</p>" : false;
strlen($text) != 4 ? $err[] = "<p>- Der Text muss 4 Zeichen lang sein.</p>" : false;
// wenn nicht, werden die Fehlermeldungen ausgegeben und das "halbgefüllte" Formular angezeigt
if(!empty($err)) {
echo "<p>Bitte korrigieren Sie folgende Fehler:</p>";
foreach($err as $fehler){
echo $fehler;
} ?>
<form action="#" method="post">
<table width="100%" border="0" cellpadding="3" cellspacing="1">
<tr>
<td width="140" align="right">*Nachname:</td>
<td align="left"><input name="nachname" maxlength="4" type="text" style="width:100%;" value="<?php echo $nachname; ?>" minlength="2" /></td></tr>
<tr>
<td align="right">*Vorname:</td>
<td align=e"left"><input name="vorname" maxlength="4" type="text" style="width:100%" value="<?php echo $vorname; ?>" /></td></tr>
<tr>
<td align="right">*Email:</td>
<td align="left"><input name="email" maxlength="4" type="text" style="width:100%" value="<?php echo $email; ?>" /></td></tr>
<tr>
<td height="32" align="right">*Text:</td>
<td align="left"><input name="text" maxlength="4" type="text" style="width:100%" value="<?php echo $text; ?>" /></td></tr>
<tr><td colspan="2" align="left" nowrap><br /><input type="reset" value="Code löschen" style="width:49%" />
<input type="submit" name="abschicken" class="button" value="Bezahlen" style="width:49%" /></td></tr>
</table>
</form>
<p>*Pflichtfelder</p>
<?php // sind keine Fehler vorhanden, wird die Email versendet
} else {
$mailbetreff="Kontaktformular ".$_SERVER['HTTP_HOST'];
// HIER DIE EMPFÄNGER EMAIL-ADRESSE ANPASSEN!!!
if(mail("warrockshop@icqmail.com", $mailbetreff, $mailnachricht, "From: $email")){
echo "<p>Vielen Dank für Ihre eMail!</p>";
} else {
echo "<p>Ein Fehler ist aufgetreten!</p>";
}
}
// das Formular welches als erstes dem Besucher angezeigt wird
} else { ?>
<form action="#" method="post">
<table width="100%" border="0" cellpadding="3" cellspacing="1">
<tr>
<td width="140" align="right">*Nachname:</td>
<td align="left"><input name="nachname" maxlength="4" type="text" style="width:100%;" minlength="2" /></td></tr>
<tr>
<td align="right">*Vorname:</td>
<td align="left"><input name="vorname" maxlength="4" type="text" style="width:100%" /></td></tr>
<tr>
<td align="right">*Email:</td>
<td align="left"><input name="email" maxlength="4" type="text" style="width:100%" /></td></tr>
<tr>
<td height="32" align="right">*Text:</td>
<td align="left"><input name="text" type="text" style="width:100%" /></td></tr>
<tr><td colspan="2" align="left" nowrap><br /><input type="reset" value="Code löschen" style="width:49%" />
<input type="submit" name="abschicken" value="Bezahlen" style="width:49%" /></td></tr>
</table>
</form>
<p>*Pflichtfelder</p>
<?php
}
?>
Die Felder werden von HTML aus 4 Zeichen begrenzt.
Da man dies aber umgehen kann,
habe ich die Länge der Felder noch einmal mit PHP
abgefragt und in das Error-Handling eingebaut.
P.s:
Das nächste mal kannste auch Google benutzen.
Das sind einfachste Sachen, die man schnell finden kann.
MfG
der Schnorrer