wildfire: Formular: erst die Vorschau, dann verschicken

Guten Tag liebe Forum-Mitglieder!

Ich habe ein Bestellformular erstellt das mit PHP ausgelesen wird und dann per eMail an den gewünschten Adressat geschickt wird. Das funktioniert auch ohne Probleme.

Nun möchte ich das Formular erweitern indem ich es dem User vorweg als Vorschau zur Verfügung stelle und dann erst im Anschluss als eMail verschicke oder zurück gehen kann um es zu korrigieren.

Kann mir jemand erklären wie ich das realisieren kann? Ich habe leider nur wenig PHP Kenntnisse, um es mir aus den anderen Forumsbeiträgen auf meine Bedürfnisse umschreiben zu können.

Hier der Code des Formulars:

<form onSubmit="return chkFormular()" name="Formular" method="post" enctype="multipart/form-data" action="contact.php">

<table border="0" align="left" cellpadding="2" cellspacing="0">

<tr>
      <td colspan="2">  <div class="headlineform">Arzneimittel-Bestellformular</div></td>
    </tr>
    <tr>
      <td colspan="2" class="contentform">Nachname*<br> <input name="nachname" type="text" id="nachname"></td>
    </tr>
    <tr>
      <td colspan="2" class="contentform">Vorname*<br> <input name="vorname" type="text" id="vorname"></td>
    </tr>
     <tr>
      <td colspan="2" class="contentform">Stra&szlig;e, PLZ Stadt*<br>
       <input name="adresse" type="text" id="adresse"></td>
    </tr>
    <tr>
      <td colspan="2" class="contentform">Telefon*<br>
      <input name="telefon" type="text" id="telefon"></td>
    </tr>
    <tr>
      <td colspan="2" class="contentform">E-Mail<br> <input name="email" type="text" id="email"></td>
    </tr>
  <tr>
      <td colspan="2" class="contentform">Medikament oder PZN-Nummer*<br>
       <input name="medikament" type="text" id="medikament"></td>
    </tr>
     <tr>
      <td colspan="2" class="contentform">St&uuml;ckzahl*<br>
       <input name="anzahl" type="text" id="anzahl"></td>
    </tr>
    <tr>
      <td class="contentform"><span align="right">
        <input name="Submit2" type="reset" class="button" value="Löschen">
        </span> <span align="right">
        <input name="Submit" type="submit" class="button" value="Senden">
        </span> </td>
    </tr>
      <tr>
      <td colspan="2" class="stern">(Pflichtfelder sind mit  * markiert.)</td>
    </tr>
  </table>
</form>

Hier das PHP-Script:

<?

//SpamScript include
$pattern1 = "/[^a-z0-9 !?:;,./_-=+@#$&\*()]/im";
$pattern2 = "/(content-type:|bcc:|cc:|to:|from:)/im";

//Absender und Empfänger Emailadressen
$email_abs = "Bestellformular";
$empfaenger = "@.de";

//Betreff
$betreff = $medikament;

//Tracking
$path = $PATH_TRANSLATED;
$path = split("/",$path);
$dir = $path[count($path)-2];

//Zusatzinformationen
$info = "Diese Nachricht wurde &uuml;ber das Bestellfurmular versendet.";

//Kontaktformular bereinigen
$betreff = preg_replace( $pattern1, "",$betreff );
$betreff = preg_replace( $pattern2, "",$betreff );

$name = preg_replace( $pattern1, "",$name );
$name = preg_replace( $pattern2, "",$name );

$telefon = preg_replace( $pattern1, "",$telefon );
$telefon = preg_replace( $pattern2, "",$telefon );

$email = preg_replace( $pattern1, "",$email );
$email = preg_replace( $pattern2, "",$email );

$anzahl = preg_replace( $pattern1, "",$anzahl );
$anzahl = preg_replace( $pattern2, "",$anzahl );

//Emailadresse in HTML generieren
$email = "<a href="mailto:".$email."">".$email."</a>";

//Kontaktformular Inhalt formatieren
$mailinhalt = "<b>Arzneimittel-Bestellformular<br><br>Nachname: " .
$nachname . "<br></b>Vorname: " .
$vorname . "<br>".
"<p><hr size=1 noshade></p><b>Bestelldaten: </b><br>Adresse: " .
$adresse . "<br>Telefon: " .
$telefon ."<br>E-Mail: " .
$email . "<br>Medikament / PZN-Nummer: " .
$medikament . "<br>St&uuml;ckzahl: " .
$anzahl . "<p><hr size=1 noshade></p>" .
$info;

//Header
$header="From:$email_abs<$email_abs>\n";
$header .= "Reply-To: $email_abs\n";
$header .= "Bcc: $email_to_bcc\n";
$header .= "X-Mailer: PHP/" . phpversion(). "\n";
$header .= "X-Sender-IP: $REMOTE_ADDR\n";
$header .= "Content-Type: text/html";

//Mail verschicken
mail($empfaenger,$betreff,$mailinhalt,$header);

// Weiterleitung nach erfolgreichem Senden
header("Location: response.html");
?>

Ich danke euch schon mal sehr für jede Hilfe!!
Mit freundlichen Grüßen Wildfire

  1. hi,

    Nun möchte ich das Formular erweitern indem ich es dem User vorweg als Vorschau zur Verfügung stelle und dann erst im Anschluss als eMail verschicke oder zurück gehen kann um es zu korrigieren.

    http://www.php-faq.de/q/q-stil-normalform.html

    Mache zwei Buttons, einen für Vorschau, einen für Abspeichern (oder was auch immer).
    Prüfe im Zielscript, welcher dieser Buttons zum Absenden benutzt wurde - und reagiere entsprechend darauf.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. Hallo.

    Evtl. kannst du hier auch mit Sessions arbeiten, dazu müsstest du dich aber wahrsch. etwas länger mit deinem Problem beschäftigen.

    MfG, Kungschu.