Einfacher PHP-Formmailer | $urlDankeSeite
marie90
- php
0 Matthias Apsel0 tami0 tami
Hallo,
ich ein Problem mit dem einfachen PHP-Frommailer (http://aktuell.de.selfhtml.org/artikel/php/form-mail/), genauer gesagt mit der DankeSeite.
Über das Forum-Archiv habe ich leider dazu keine Antwort finden können.
Der Versand funktioniert, nur die anschließende Weiterleitung zur DankeSeite nicht (URL der DankeSeite funktioniert bei Direkteingabe im Browser).
Nach dem Senden bleibt die Seite leer (URL der Seite mit Formmailer bleibt im Browser) die Weiterleitung bekomme ich einfach nicht hin :-(
Über eure Hilfe wäre ich sehr dankbar. Vielen Dank im Voraus.
marie90
Der Quelltext dazu:
<?php
/**
* Konfiguration
*
* Bitte passen Sie die folgenden Werte an, bevor Sie das Script benutzen!
*
* Das Skript bitte in UTF-8 abspeichern (ohne BOM).
*/
// An welche Adresse sollen die Mails gesendet werden?
$zieladresse = 'meine@E-Mail.Adresse';
// Welche Adresse soll als Absender angegeben werden?
// (Manche Hoster lassen diese Angabe vor dem Versenden der Mail ueberschreiben)
$absenderadresse = 'meine@E-Mail.Adresse';
// Welcher Absendername soll verwendet werden?
$absendername = 'Anfrageformular';
// Welchen Betreff sollen die Mails erhalten?
$betreff = 'Angebot anfordern';
// Zu welcher Seite soll als "Danke-Seite" weitergeleitet werden?
// Wichtig: Sie muessen hier eine gueltige HTTP-Adresse angeben!
$urlDankeSeite = 'http://www.xxxxx.de/Danke.php';
// Welche(s) Zeichen soll(en) zwischen dem Feldnamen und dem angegebenen Wert stehen?
$trenner = ":\t"; // Doppelpunkt + Tabulator
/**
* Ende Konfiguration
*/
if ($_SERVER['REQUEST_METHOD'] === "POST") {
$header = array();
$header[] = "From: ".mb\_encode\_mimeheader($absendername, "utf-8", "Q")." <".$absenderadresse.">";
$header[] = "MIME-Version: 1.0";
$header[] = "Content-type: text/plain; charset=utf-8";
$header[] = "Content-transfer-encoding: 8bit";
$mailtext = "";
foreach ($_POST as $name => $wert) {
if (is_array($wert)) {
foreach ($wert as $einzelwert) {
$mailtext .= $name.$trenner.$einzelwert."\n";
}
} else {
$mailtext .= $name.$trenner.$wert."\n";
}
}
mail(
$zieladresse,
mb_encode_mimeheader($betreff, "utf-8", "Q"),
$mailtext,
implode("\n", $header)
) or die("Die Mail konnte nicht versendet werden.");
header("Location: $urlDankeSeite");
exit;
}
header("Content-type: text/html; charset=utf-8");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
<head>
<title>Einfacher PHP-Formmailer</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<h1>Test </h1>
<form action="" method="post">
<!-- Hier die eigentlichen Formularfelder eintragen. Die folgenden sind Beispielangaben. -->
<dl>
.......
</dl>
<!-- Ende der Beispielangaben -->
<p>
<input type="submit" value="Senden" />
<input type="reset" value="Zurücksetzen" />
</p>
</form>
</body>
</html>
Om nah hoo pez nyeetz, marie90!
ich ein Problem mit dem einfachen PHP-Frommailer (http://aktuell.de.selfhtml.org/artikel/php/form-mail/), genauer gesagt mit der DankeSeite.
Über das Forum-Archiv habe ich leider dazu keine Antwort finden können.
Schau mal ins Wiki, vielleicht hat sich im Vergleich zum relativ alten Artikel was geändert.
http://wiki.selfhtml.org/wiki/Artikel:Formmailer-Advanced
Matthias
hi,
Hallo,
ich ein Problem mit dem einfachen PHP-Frommailer (http://aktuell.de.selfhtml.org/artikel/php/form-mail/), genauer gesagt mit der DankeSeite.
Über das Forum-Archiv habe ich leider dazu keine Antwort finden können.Der Versand funktioniert, nur die anschließende Weiterleitung zur DankeSeite nicht (URL der DankeSeite funktioniert bei Direkteingabe im Browser).
Nach dem Senden bleibt die Seite leer (URL der Seite mit Formmailer bleibt im Browser) die Weiterleitung bekomme ich einfach nicht hin :-(
Über eure Hilfe wäre ich sehr dankbar. Vielen Dank im Voraus.
https://forum.selfhtml.org/?t=217437&m=1493705 ... ???
$urlDankeSeite = 'http://www.xxxxx.de/Danke.php';
damit setzt du die url.
header("Location: $urlDankeSeite");
damit die header-location.
Ich würde mit var_dump($urlDankeSeite) mal testen, ob die URL korrekt eingelesen wurde und dann mal ohne Variable mit
header("Location: http://exampl.com/meineDankeSeite") probieren.
Ich denke es könnte eher header("Location:" . $urlDankeSeite ) heißen ...???
http://www.php.net/manual/de/function.header.php
mfg
tami
hi,
» * Das Skript bitte in UTF-8 abspeichern (ohne BOM).
ist ganz wichtig, denn: "Beachten Sie, dass Sie die Funktion header() aufrufen müssen, bevor Sie irgendeine andere Art von Ausgabe (seien es normale HTML-Tags, Leerzeilen in einer Datei oder von PHP) zum Client schicken."
und error_reporting einschalten inklusive Notice und Warninig ... (E_ALL, E_NOTICE) oder so ähnlich ...;
mfg
tami