hallo hab einen vorgefertigten php-code von meinem webspace-anbieter für ein kontaktformular erhalten. ich möchte noch einige felder hinzufügen. an einer stelle hakt es aber.
hier der originalcode:
und jetzt mein erweiterter code mit straßen-feld. wenn ich das hochlade und das formular teste, indem ich die felder leer lasse kommt nicht nur hinter dem straßenfeld, sondern auch hinter dem namenfeld die fehlermeldung "Bitte geben Sie Ihre Straße ein!"
ich nehme an der fehler ist in zeile 26 if (@mail ($mailto, "Antwortformular", $_POST['from_msg'], "From: ".$_POST['from_name']."<".$_POST['from_strasse']."<".$_POST['from_email'].">")) . ich weiß nur nicht was. sind diese zeichen <>". zu viel, zu wenig. kann mir bitte jemand helfen?
hier der originalcode:
PHP-Code:
<?php
$mailto = "info@xxx.com";
if (!empty($_POST['send'])) {
$error = 0;
if (empty ($_POST['from_name'])) {
$name_err = "Geben Sie Ihren Namen ein!";
$error = 1;
}
if (empty ($_POST['from_email']) || !preg_match("/\w+@\w+/i", $_POST['from_email'])) {
$email_err = "Geben Sie Ihre E-Mail-Adresse ein!";
$error = 1;
}
if (empty ($_POST['from_msg'])) {
$msg_err = "Geben Sie die Nachricht ein!";
$error = 1;
}
if (!$error) {
if (@mail ($mailto, "Antwortformular", $_POST['from_msg'], "From: ".$_POST['from_name']." <".$_POST['from_email'].">")) {
$send_msg = "Ihre Nachricht wurde erfolgreich gesendet.
";
unset ($_POST['from_name']);
unset ($_POST['from_email']);
unset ($_POST['from_msg']);
}
}
}
?>
<?=$send_msg?>
<form action="<?=$_SERVER['PHP_SELF']?>" method=post>
<input type="hidden" name="send" value="1">
<table cellpadding=0 cellspacing=3 border=0>
<tr>
<td align=right>[b]Name:[/b]</td>
<td><input type="text" name="from_name" value="<?=$_POST['from_name']?>"> <font color='red' size=-1><?=$name_err?></font></td>
</tr>
<tr>
<td align=right>[b]E-Mail:[/b]</td>
<td><input type="text" name="from_email" value="<?=$_POST['from_email']?>"> <font color='red' size=-1><?=$email_err?></font></td>
</tr>
<tr>
<td align=right valign=top>[b]Nachricht:[/b]</td>
<td><textarea name="from_msg" cols=40 rows=6><?=$_POST['from_msg']?></textarea>
<font color='red' size=-1><?=$msg_err?></font></td>
</tr>
<tr>
<td></td>
<td><input type=submit value="Senden"></td>
</tr>
</table>
</form>
und jetzt mein erweiterter code mit straßen-feld. wenn ich das hochlade und das formular teste, indem ich die felder leer lasse kommt nicht nur hinter dem straßenfeld, sondern auch hinter dem namenfeld die fehlermeldung "Bitte geben Sie Ihre Straße ein!"
ich nehme an der fehler ist in zeile 26 if (@mail ($mailto, "Antwortformular", $_POST['from_msg'], "From: ".$_POST['from_name']."<".$_POST['from_strasse']."<".$_POST['from_email'].">")) . ich weiß nur nicht was. sind diese zeichen <>". zu viel, zu wenig. kann mir bitte jemand helfen?
PHP-Code:
<?php
$mailto = "info@xxx.com";
if (!empty($_POST['send'])) {
$error = 0;
if (empty ($_POST['from_name'])) {
$name_err = "Bitte geben Sie Ihren Namen ein!";
$error = 1;
}
if (empty ($_POST['from_strasse'])) {
$name_err = "Bitte geben Sie Ihre Straße ein!";
$error = 1;
}
if (empty ($_POST['from_email']) || !preg_match("/\w+@\w+/i", $_POST['from_email'])) {
$email_err = "Bitte geben Sie Ihre E-Mail-Adresse ein!";
$error = 1;
}
if (empty ($_POST['from_msg'])) {
$msg_err = "Bitte geben Sie Ihre Nachricht ein!";
$error = 1;
}
if (!$error) {
if (@mail ($mailto, "Antwortformular", $_POST['from_msg'], "From: ".$_POST['from_name']."<".$_POST['from_strasse']."<".$_POST['from_email'].">")) {
$send_msg = "Ihre Nachricht wurde erfolgreich gesendet.
";
unset ($_POST['from_name']);
unset ($_POST['from_strasse']);
unset ($_POST['from_email']);
unset ($_POST['from_msg']);
}
}
}
?>
<?=$send_msg?>
<form action="<?=$_SERVER['PHP_SELF']?>" method=post>
<input type="hidden" name="send" value="1">
<table cellpadding=0 cellspacing=3 border=0>
<tr>
<td align=right>[b]Name:[/b]</td>
<td><input type="text" name="from_name" value="<?=$_POST['from_name']?>"> <font color='red' size=-1><?=$name_err?></font></td>
</tr>
<tr>
<td align=right>[b]Straße:[/b]</td>
<td><input type="text" name="from_strasse" value="<?=$_POST['from_strasse']?>"> <font color='red' size=-1><?=$name_err?></font></td>
</tr>
<tr>
<td align=right>[b]E-Mail:[/b]</td>
<td><input type="text" name="from_email" value="<?=$_POST['from_email']?>"> <font color='red' size=-1><?=$email_err?></font></td>
</tr>
<tr>
<td align=right valign=top>[b]Nachricht:[/b]</td>
<td><textarea name="from_msg" cols=40 rows=6><?=$_POST['from_msg']?></textarea>
<font color='red' size=-1><?=$msg_err?></font></td>
</tr>
<tr>
<td></td>
<td><input type=submit value="Senden"></td>
</tr>
</table>
</form>
Kommentar