marie90: Einfacher PHP-Formmailer | $urlDankeSeite

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>

  1. 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

    --
    Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Mark und Markt.

  2. 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

  3. 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