Hallo,
ich möchte ein Online-Formular erstellen, mit dem einfache Kontaktdaten etc. in vorgegebenen Eingabefeldern übertragen werden können.
Ich habe bereits eine Vorlage gefunden, die ich verwenden darf. Soweit funktioniert auch alles, d.h. ich erhalte auch eine eMail, wenn ich das Formular teste.
Allerdings habe ich nun versucht, ein neues Eingabefeld hinzuzufügen, und damit habe ich Probleme. Das Feld selbst konnte ich erstellen, allerdings habe ich in der eMail keinen Inhalt für das Feld.
Ich stelle mal den Code rein, in der Hoffnung, dass mir jemand helfen kann.
Wenn mich nicht alles täuscht, müsste der Fehler irgendwo in diesem Stück liegen:
PHP-Code:
<?php
$mailto = "info@irgendwer.de";
$send_msg = "";
$name_err = "";
$email_err = "";
$msg_err = "";
$betreff_err = "";
$wort_err = "";
if (!empty($_POST['send'])) {
$error = 0;
if (empty($_POST['from_name'])) {
$name_err = "Geben Sie bitte Ihren Namen ein.";
$error = 1;
} else {
$from_name = filter($_POST['from_name']);
}
if (empty($_POST['from_email']) || !preg_match("/^[A-z0-9][\w.-]*@[A-z0-9][\w\-\.]+\.[A-z0-9]{2,6}$/", $_POST['from_email'])) {
$email_err = "Geben Sie bitte Ihre E-Mail-Adresse ein!";
$error = 1;
} else {
$from_email = $_POST['from_email'];
}
if (empty($_POST['from_betreff'])) {
$betreff_err = "Geben Sie bitte den Betreff ein!";
$error = 1;
} else {
$from_betreff = filter($_POST['from_betreff']);
}
if (empty($_POST['from_msg'])) {
$msg_err = "Geben Sie bitte die Nachricht ein!";
$error = 1;
} else {
$from_msg = preg_replace("/(content-type:|bcc:|cc:|to:|from:)/im", "", $_POST['from_msg']);
}
if (!$error) {
if (@mail($mailto, "Kontaktanfrage",
"Betreff: $from_betreff\n\nNachricht:\n$from_msg\n\neMail:\n$from_email\n\nWort:\n$from_wort\n\nnocheinWort",
"From: $from_name <$from_email>")) {
$send_msg = "Ihre Nachricht wurde erfolgreich gesendet.<br><br>";
unset($_POST['from_name']);
unset($_POST['from_email']);
unset($_POST['from_betreff']);
unset($_POST['from_msg']);
unset($_POST['from_wort']);
} else {
$send_msg = "Fehler!";
}
}
}
function filter($input) {
$result = preg_replace("/[^a-z0-9 !?:;,.\/_\-=+@#$&\*\(\)]/im", "", $input);
return preg_replace("/(content-type:|bcc:|cc:|to:|from:)/im", "", $result);
}
?>
Konkret geht es um das Feld 'from_wort', das in der eMail, die ich erhalte, nicht erscheint.
Falls hier kein Fehler zu finden ist, kann ich auch noch den ganzen Code einmal posten.
Für Hilfe oder Ratschläge wäre ich äußerst dankbar =)
Danke,
Schulze