Bestätigungsmail einfügen

webguru2009

Mitglied
Hallo,
ich habe ein Bestellformular erstellt wo ich gerne eine Bestätigungsmail einfügen möchte.

Also die Daten die gleich an mich gesendet werden sollen erst an mich gesendet werden, wenn der besteller die Bestätigungsmail anklickt.
Ich bekomms einfach nicht hin.
Die Eingegeben Daten werden per "post" gesendet.
Hier das script:

PHP:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Bestellformular</title>
</head>
<body>
<?php

$Empfaenger = "peter.werter@web.de";

if($_REQUEST['Send'])
{
   if(empty($_REQUEST['Name']) || empty($_REQUEST['Email']))
   {
      echo"Bitte gehen Sie <a href=\"javascript:history.back();\">zurück</a> und füllen Sie alle Felder aus!";
   }
   else
   {
      $Mailnachricht = "Sie haben folgende Nachricht erhalten: \n\n";
      while(list($Formularfeld, $Wert)=each($_REQUEST))
      {
         if($Formularfeld!="Send")
         {
            $Mailnachricht .= $Formularfeld.": ".$Wert."\n";
         }
      }
      $Mailnachricht .= "\nDatum/Zeit: ";
      $Mailnachricht .= date("d.m.Y H:i:s");
      $Mailbetreff = "Kontakt: ";
      $Mailbetreff .= $_REQUEST['Betreff'];
      mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']);
      echo"Vielen Dank für Ihre eMail!";
   }
}
else
{
   echo"Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese <a href=\"kontakt.html\">Seite</a>.";
}

?>
</body>
</html>
 
Wenn du willst, dass der Sender vorher einen Link in einer Email anklickt und dann erst die Mail an dich geschickt wird, musst du die Mail einstweilen zwischenspeichern.
Entweder in ne MySQL Tabelle, in eine Textdatei oder sehr umständlich über die URL mitgeben.
- Wäre mal mein Lösungsansatz
 
Am leibsten hätte ich es ohne Mysql datenbank.
Per Textdatei müsste man mit fwrite und fopen arbeiten was ich schon sehr lange nicht mehr gemacht habe :suspekt:

Könnte mir jemand vielleicht einen schnipsel zu werfen :D oder vlt ein Script wo eine Bestätigungsmail angeklickt werden muss?
*bettel*

Mfg Webguru
 
Wie wäre es wenn du dem Benutzer erst mal eine Bestätigungsmail schickst, der dann einen Link anklickt und auf eine Seite gelangt, die dir die Mail schickt?:suspekt:
Wäre so mal mein Lösungsansatz...
 
das könntst du natürlich machen, oder du gibst das alles nur über die url weiter ... das ist halt sehr unsicher und auch nicht wirklich hübsch anzusehen.
Also du schickst dem User eine Bestätigungsmail in der seine Mail in eine URL gefasst ist und beim öffnen dieser Url werden die Daten ausgelesen und abgeschickt.

Beispiel URL in der Mail:

.../verify.php?subject=Betreff&mail=test@test.de&message=Blablablablabla&send=1

Und dann einfach die Variablen auslesen und verschicken:

PHP:
if($send == "1")
{
mail($deine_mail, $subject, $message."geschickt von: ".$mail);
}
 
Danke euch für die Lösungsansätze.
Das mit der Url würde mir am liebsen gefallen.
Leider kann ich damit nicht viel anfangen :(

Ich habe gerade die ganze Zeit gesucht und finde einfach kein Script wo man einen Bestätigungsmail bekommt.
Hat da jemand vielleicht etwas?
 
Zuletzt bearbeitet:
Ok.
Also Schritt 1:

Du lässt den User Daten in eine Form eingeben. Wenn er diese Abschickt wird das Erste Mailscript ausgeführt. Dieses Schickt dem User eine Email, die er Bestätigen muss um die Mail wirklich zu versenden.
Du nimmst also die Daten aus dem Formular und wandelst sie in eine URL um, die du dann an den User verschickst.

Nehmen wir an du hast folgende Eingaben im Formular:

Name
Email
Nachricht

Wenn du das Formular per GET übergiebst würde das dann so aussehen:

PHP:
//URL basteln //
$url = "http://deinedomain.com/verfiy.php?name=".$_GET['name']."&email=".$_GET['email']."&nachricht=".$_GET['nachricht'];

//in Email an den User packen//

mail($_GET['email'], "Bestätigung", "Bitte folgenden Link aufrufen ".$url);

Schritt 2:

Die verify.php.
Im Prinzip das selbe nochmal, nur das du dieses Mal die Mail an dich schickst.
Klar soweit?
lg
 
Also ich füge einfach statt "Post", "Get" ein, mit dem link.

PHP:
formular-auswerten.php?name=".$_GET['name']."&email=".$_GET['email']."&nachricht=".$_GET['nachricht'];

und in die Mail schreibe ich
PHP:
mail($_GET['email'], "Bestätigung", "Bitte folgenden Link aufrufen ".$url);

Muss man nichts weiter machen?
 
Das habe ich mir aus deiner "Anleitung" entnommen :)
Ich poste jetzt nochmal meine 2 Scripte und könntest du mir bitte die Bestätigung einbauen?
Ich bekomms einfach nicht hin und ich bettel dich an :D

Formular.php

PHP:
<form method="post" action="kontaktformular-auswerten.php" name="Kontaktformular" target="fenster" onsubmit="window.open('','fenster','width=400,height=200,resizable=no')">
    <table cellspacing="2" cellpadding="2" border="0" style="text-align: left; width: 551px; height: 341px;">
        <tbody>
            <tr>
                <td style="vertical-align: top;"><span style="font-family: Verdana;"><span style="text-decoration: underline; font-weight: bold;"> Anrede:</span> </span></td>
                <td style="vertical-align: top;"><select name="anrede">
                <option> Herr </option>
                <option> Frau </option>
                </select></td>
            </tr>
            <tr>
                <td style="vertical-align: top;"><span style="font-family: Verdana;"><span style="text-decoration: underline; font-weight: bold;"> Vorname:</span> </span></td>
                <td style="vertical-align: top;"><input name="Name" size="20" style="float: left;" /></td>
            </tr>
            <tr>
                <td style="vertical-align: top;"><span style="font-family: Verdana;"><span style="text-decoration: underline; font-weight: bold;">Nachname:</span> </span></td>
                <td style="vertical-align: top;"><span style="font-family: Verdana;"><input name="Nachname" size="20" style="float: left;" /></span></td>
            </tr>
            <tr>
                <td style="vertical-align: top;"><span style="font-family: Verdana;"><span style="font-weight: bold;"><span style="text-decoration: underline;">Straße, Haus-Nr.:</span></span></span></td>
                <td style="vertical-align: top;"><span style="font-family: Verdana;"><input name="Straße" size="25" style="float: left;" /></span><span style="font-family: Verdana;"><input style="margin-left: 10px;" name="Nummer" size="3" /></span></td>
            </tr>
            <tr>
                <td style="vertical-align: top;"><span style="font-family: Verdana;"><span style="font-weight: bold; text-decoration: underline;">PLZ, Ort:</span></span></td>
                <td style="vertical-align: top;"><span style="font-family: Verdana;"><input name="Plz" size="6" style="float: left;" /></span><span style="font-family: Verdana;"><input style="margin-left: 5px;" name="Ort" size="25" /></span></td>
            </tr>
            <tr>
                <td style="vertical-align: top;"><span style="font-family: Verdana;"><span style="text-decoration: underline; font-weight: bold;">E-Mail:</span></span></td>
                <td style="vertical-align: top;"><span style="font-family: Verdana;"><input name="Email" size="20" style="float: left;" /></span></td>
            </tr>
            <tr>
                <td style="vertical-align: top;"><span style="font-family: Verdana;"><span style="font-weight: bold; text-decoration: underline;">Telefon:</span></span></td>
                <td style="vertical-align: top;"><span style="font-family: Verdana;"><input name="Telefon" size="20" style="float: left;" /></span></td>
            </tr>
            <tr>
            </tr>
        </tbody>
    </table>
    <input type="submit" name="Send" value="Abschicken" /> <input type="reset" name="Reset" value="Löschen" />
</font>
</form>

kontaktformular-auswerten.php

PHP:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Bestellformular</title>
</head>
<body>
<?php

$Empfaenger = "peter.werter@web.de";

if($_REQUEST['Send'])
{
   if(empty($_REQUEST['Name']) || empty($_REQUEST['Email']))
   {
      echo"Bitte gehen Sie <a href=\"javascript:history.back();\">zurück</a> und füllen Sie alle Felder aus!";
   }
   else
   {
      $Mailnachricht = "Sie haben folgende Nachricht erhalten: \n\n";
      while(list($Formularfeld, $Wert)=each($_REQUEST))
      {
         if($Formularfeld!="Send")
         {
            $Mailnachricht .= $Formularfeld.": ".$Wert."\n";
         }
      }
      $Mailnachricht .= "\nDatum/Zeit: ";
      $Mailnachricht .= date("d.m.Y H:i:s");
      $Mailbetreff = "Kontakt: ";
      $Mailbetreff .= $_REQUEST['Betreff'];
      mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']);
      echo"Vielen Dank für Ihre eMail!";
   }
}
else
{
   echo"Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese <a href=\"kontakt.html\">Seite</a>.";
}

?>
</body>
</html>
 
Zurück