[FONT=COURIER NEW]Hi, ich habe auf unserer Homepage einen Formmailer eingebaut. Nun möchte ich zusätzlich noch festlegen, welche Felder zwingend ausgefüllt werden sollen.
Momentan könnte z. B. jeder Besucher das Formular ausfüllen und absenden, ohne seinen Namen dabei anzugeben.
Hier sollte aber dann eine Meldung "Bitte e-Mail eingeben" erscheinen.
Hier der Formmailer:
[/FONT]
[FONT=COURIER NEW]
[/FONT]
[FONT=COURIER NEW]
...aber das Formular bringt keine Fehlermeldung!
Muß ich vielleicht vom oberen Code noch was entfernen? Paßt irgendwas nicht zusammen?
Vielen Dank im voraus für Hilfe
Grüße, Marie[/FONT]
Momentan könnte z. B. jeder Besucher das Formular ausfüllen und absenden, ohne seinen Namen dabei anzugeben.
Hier sollte aber dann eine Meldung "Bitte e-Mail eingeben" erscheinen.
Hier der Formmailer:
[/FONT]
PHP-Code:
<?php
### Konfiguration ###
# Bitte passen Sie die folgenden Werte an, bevor Sie das Script benutzen!
# An welche Adresse sollen die Mails gesendet werden?
$strEmpfaenger = 'test@tester.de';
# Welchen Betreff sollen die Mails erhalten?
$strSubject = 'eMail von www.homepage.de';
# Zu welcher Seite soll als "Danke-Seite" weitergeleitet werden?
# Wichtig: Sie muessen hier eine gueltige HTTP-Adresse angeben!
$strReturnhtml = 'http://www.homepage.de/danke-email.php';
# Welche(s) Zeichen soll(en) zwischen dem Feldnamen und dem angegebenen Wert stehen?
$strDelimiter = ":\t";
### Ende Konfiguration ###
if($_POST)
{
$strFrom = $_POST["email"];
while(list($strName,$value) = each($_POST))
{
if(is_array($value))
{
foreach($value as $value_array)
{
$strMailtext .= $strName.$strDelimiter.$value_array."\n";
}
}
else
{
$strMailtext .= $strName.$strDelimiter.$value."\n";
}
}
if(get_magic_quotes_gpc())
{
$strMailtext = stripslashes($strMailtext);
}
// filter
$email = trim($_POST["email"]);
$betreff = trim($_POST["betreff"]);
// validate
$errors = array();
if (empty($email)) {
$errors[] = "Bitte E-Mail eingeben.";
}
if (empty($betreff)) {
$errors[] = "Bitte Betreff eingeben.";
}
$hasErrors = !empty($errors);
if (!$hasErrors) {
mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom)
or die("Die Mail konnte nicht versendet werden.");
header("Location: $strReturnhtml");
exit;
}
if ($formSent && $hasErrors) {
echo "Fehler beim Versenden des Formulars:<ul><li>", implode("</li><li>", $errors), "</li></ul>";
}
}
?>
[/FONT]
HTML-Code:
<html> <head> <form action="<?php print $_SERVER['PHP_SELF']; ?>" method="post"> <p>Dein Name:<br> <input type="text" name="name" size="35" maxlength="100" style="background-color: #FBFCFD; border-left: 1px dashed #84c225; border-right: 1px dashed #84c225; border-top: 1px dashed #84c225; border-bottom: 1px dashed #84c225;"></p> <p>Deine eMail-Adresse:<br> <input type="text" name="email" size="35" style="background-color: #FBFCFD; border-left: 1px dashed #84c225; border-right: 1px dashed #84c225; border-top: 1px dashed #84c225; border-bottom: 1px dashed #84c225;"></p> <p>Betreff:<br> <input type="text" name="betreff" size="35" style="background-color: #FBFCFD; border-left: 1px dashed #84c225; border-right: 1px dashed #84c225; border-top: 1px dashed #84c225; border-bottom: 1px dashed #84c225;"></p></p> <p>Deine Nachricht:<br> <textarea name="nachricht" cols="38" rows="8" style="background-color: #FBFCFD; border-left: 1px dashed #84c225; border-right: 1px dashed #84c225; border-top: 1px dashed #84c225; border-bottom: 1px dashed #84c225;"></textarea></p> <p> <input type="submit" value="absenden"> <input type="reset" value="tipp ex"> <br><br> </form> </body> </html>
...aber das Formular bringt keine Fehlermeldung!
Muß ich vielleicht vom oberen Code noch was entfernen? Paßt irgendwas nicht zusammen?
Vielen Dank im voraus für Hilfe
Grüße, Marie[/FONT]
Kommentar