PHP Bestätigungs E-mail

06/02/2013 20:21 Littletoast#1
Heyho,

da ich mich leider mit PHP überhaupt nicht auskenne, brauch ich eure Hilfe.

Ich möchte, dass wenn jemand ein Formular auf meiner Homepage ausfüllt, ich eine E-mail bekomme und derjenige der das Formular ausgefüllt hat auch.
Dass ich eine E-mail mit den ganzen Daten erhalte, funktioniert wunderbar, nur dass er ne Bestätigungse-mail bekommt, funktioniert leider nicht :(

Was muss ich hier hinzufügen, dass der Absender auch ne E-mail bekommt?


Code:
<?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 = '[Only registered and activated users can see links. Click Here To Register...]';

// Welche Adresse soll als Absender angegeben werden?
// (Manche Hoster lassen diese Angabe vor dem Versenden der Mail ueberschreiben)
$absenderadresse = '[Only registered and activated users can see links. Click Here To Register...]';

// Welcher Absendername soll verwendet werden?
$absendername = 'Formmailer';

// Welchen Betreff sollen die Mails erhalten?
$betreff = 'Feedback';

// Zu welcher Seite soll als "Danke-Seite" weitergeleitet werden?
// Wichtig: Sie muessen hier eine gueltige HTTP-Adresse angeben!
$urlDankeSeite = 'http://www.EXAMPLE.com/IhrName/IhreSeite.htm';

// 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>Beispielformular</h1>
        <form action="" method="post">
            <!-- Hier die eigentlichen Formularfelder eintragen. Die folgenden sind Beispielangaben. -->
            <dl>
                <dt>Ihr Name:</dt>
                <dd><input type="text" name="Versender" /></dd>
                <dt>Ihre E-Mail:</dt>
                <dd><input type="text" name="E-Mail" /></dd>
                <dt>Sie können:</dt>
                <dd><input type="checkbox" name="kannwas[]" value="HTML" />HTML <input type="checkbox" name="kannwas[]" value="PHP" />PHP</dd>
                <dt>Sie sind:</dt>
                <dd><input type="radio" name="sexus" value="M" />Mann <input type="radio" name="sexus" value="Frau" />Frau</dd>
                <dt>Sie mögen:</dt>
                <dd><select name="Browser"><option value="Opera">Opera</option><option value="Mozilla">Mozilla</option></select></dd>
                <dt>Bemerkungen:</dt>
                <dd><textarea name="Bemerkungen" rows="3" cols="20">Bemerkungen</textarea></dd>
            </dl>
            <!-- Ende der Beispielangaben -->
            <p>
            <input type="submit" value="Senden" />
            <input type="reset" value="Zurücksetzen" />
            </p>
        </form>
    </body>
</html>
Danke im vorraus.

MfG

Littletoast
06/02/2013 21:00 Bgzocker#2
ungetestet:
einfach vor header("Location: $urlDankeSeite"); folgendes noch reinkopieren:
PHP Code:
mail($_POST['E-Mail'], mb_encode_mimeheader($betreff"utf-8""Q"), $mailtextimplode("\n"$header); 
Sollte machen: Sendet die selbe Email an Absenderemailadresse.

PS: Infos hier: [Only registered and activated users can see links. Click Here To Register...]
06/02/2013 21:25 xyNNNNNN#3
Auch, wenn es für den jeweiligen User nicht relevant sein wird da sein Wissensstand noch nicht ausreicht.

Bitte nutzt bzw. empfehlt nicht mehr die mail() Funktion von PHP. Es gibt sonst immer wieder zu viele Probleme mit irgendwelchen Attachments, falsche Header, oder Probleme bei der Zeichenkodierung.

Nutzt doch bitte eine fertige Library wie Swiftmailer.

Ein paar Informationen dazu, findet man hier [Only registered and activated users can see links. Click Here To Register...]
06/02/2013 21:31 Littletoast#4
Klappt leider nicht.
06/03/2013 05:08 Fehlgeschlagen#5
Quote:
Originally Posted by Littletoast View Post
Klappt leider nicht.
Kein wunder... das nen QuellCode wo man das massen kotzen bekommt;
06/03/2013 08:13 xyNNNNNN#6
Quote:
Originally Posted by Littletoast View Post
Klappt leider nicht.
Das ist keine korrekte Fehlerbeschreibung, womit du uns bzw. wir Dir weiterhelfen können.

Bitte beschreibe uns, was du genau gemacht hast und poste die entsprechende Fehlermeldung. ;)
06/03/2013 18:53 Mikesch01#7
PHP Code:
mail($_POST['E-Mail'], mb_encode_mimeheader($betreff"utf-8""Q"), $mailtextimplode("\n"$header)) or die("Mail an Absender konnte nicht versendet werden"); 
Da fehlte eigentlich nur ein ) am Schluss ;) habs nun hinzugefügt und ebenfalls ein die().
06/03/2013 20:32 Littletoast#8
Quote:
Originally Posted by Mikesch01 View Post
PHP Code:
mail($_POST['E-Mail'], mb_encode_mimeheader($betreff"utf-8""Q"), $mailtextimplode("\n"$header)) or die("Mail an Absender konnte nicht versendet werden"); 
Da fehlte eigentlich nur ein ) am Schluss ;) habs nun hinzugefügt und ebenfalls ein die().
Vielen Dank :)

Jetzt funktioniert´s endlich :p