Körnerbrötchen
Aktives Mitglied
Hey zusammen,
ich habe eben mal wieder ein Kontaktformular zusammengebaut und da ich mir dachte, dass ich nicht wieder mein uralt-Script von vor 6 Jahren nutze wollte, habe ich mich mal nach einer Bibliothek umgeschaut und bin dabei über PHP: Fortgeschrittener PHP-Formmailer gestolpert (kannte ich vorher gar nicht^^). Ich habe den PHP-Teil jedoch anders als dort ausgelagert und ein verstecktes Input-Feld und eine versteckte textarea eingebunden. Zu finden ist das Script unter td-box.no-ip.org/outtakes. Leider wird der Inhalt der textarea nicht in die Mail geschrieben. Das fehlt einfach. Es liegt auch nicht am SPAM-Schutz. Das konnte ich ausschließen. Entferne ich nämlich die if-Verzweigung, dann kommt das versteckte input-Feld an, aber beide textareas nicht. Wo ist der Fehler? Ich finde ihn nicht…
Die PHP-Datei sieht so aus:
Besten Gruß
Körnerbrötchen
PS: Ich wäre recht dankbar, wenn gleich keine 20.000 Mails in mein Postfach klettern. ;)
ich habe eben mal wieder ein Kontaktformular zusammengebaut und da ich mir dachte, dass ich nicht wieder mein uralt-Script von vor 6 Jahren nutze wollte, habe ich mich mal nach einer Bibliothek umgeschaut und bin dabei über PHP: Fortgeschrittener PHP-Formmailer gestolpert (kannte ich vorher gar nicht^^). Ich habe den PHP-Teil jedoch anders als dort ausgelagert und ein verstecktes Input-Feld und eine versteckte textarea eingebunden. Zu finden ist das Script unter td-box.no-ip.org/outtakes. Leider wird der Inhalt der textarea nicht in die Mail geschrieben. Das fehlt einfach. Es liegt auch nicht am SPAM-Schutz. Das konnte ich ausschließen. Entferne ich nämlich die if-Verzweigung, dann kommt das versteckte input-Feld an, aber beide textareas nicht. Wo ist der Fehler? Ich finde ihn nicht…
Die PHP-Datei sieht so aus:
Code:
<?php
header("Content-type: text/html; charset=utf-8");
// An welche Adresse sollen die Mails gesendet werden?
$zieladresse = '[email protected]';
// Welche Adresse soll als Absender angegeben werden?
// (Manche Hoster lassen diese Angabe vor dem Versenden der Mail ueberschreiben)
$absenderadresse = '[email protected]';
// Welcher Absendername soll verwendet werden?
$absendername = 'OUTtakes Website';
// Welchen Betreff sollen die Mails erhalten?
$betreff = 'Feedback über Ihre Website';
// Zu welcher Seite soll als "Danke-Seite" weitergeleitet werden?
// Wichtig: Sie muessen hier eine gueltige HTTP-Adresse angeben!
$urlDankeSeite = 'http://www.outtakes-bonn.de/profil/danke';
// Welche(s) Zeichen soll(en) zwischen dem Feldnamen und dem angegebenen Wert stehen?
$trenner = ":\t"; // Doppelpunkt + Tabulator
require_once "maillib/swift_required.php"; // Swift initialisieren
if ($_SERVER['REQUEST_METHOD'] === "POST") {
$message = Swift_Message::newInstance(); // Ein Objekt für die Mailnachricht.
$message
->setFrom(array($absenderadresse => $absendername))
->setTo(array($zieladresse)) // alternativ existiert setCc() und setBcc()
->setSubject($betreff);
$mailtext = "";
foreach ($_POST as $name => $wert) {
if($name == 'text' or $name == 'surname') {
if($wert != 'Hier bitte nichts eintragen/verändern!') {
die('SPAM-Schutz: Der Versand der Mail wurde abgebrochen! Bitte verändern Sie das zweite Input-Feld und das zweite Textfeld nicht!');
exit;
}
} else {
if (is_array($wert)) {
foreach ($wert as $einzelwert) {
$mailtext .= $name.$trenner.$einzelwert."\n";
}
} else {
$mailtext .= $name.$trenner.$wert."\n";
}
}
}
$message->setBody($mailtext, 'text/plain');
$mailer = Swift_Mailer::newInstance(Swift_MailTransport::newInstance());
$result = $mailer->send($message);
if ($result == 0) {
die('Ein unerwarteter Fehler ist aufgetreten. Die Mail konnte nicht versandt werden. Das tut uns Leid. Bitte versuchen Sie es noch einmal!');
}
header("Location: $urlDankeSeite");
exit;
}
?>
Besten Gruß
Körnerbrötchen
PS: Ich wäre recht dankbar, wenn gleich keine 20.000 Mails in mein Postfach klettern. ;)