Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2007 Teil von Februar

SELFHTML Forumsarchiv
Formular: erst die Vorschau, dann verschicken

Informationsseite
  1. Seite (PHP) Formular: erst die Vorschau, dann verschicken von wildfire, 28. 02. 2007, 10:36
nach unten

Formular: erst die Vorschau, dann verschicken

Die folgende Nachricht zum Thema stammt von: wildfire, 28. 02. 2007, 10:36

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

nach obennach unten

Formular: erst die Vorschau, dann verschicken

Die folgende Nachricht zum Thema stammt von: wahsaga, 28. 02. 2007, 10:42

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; }

nach obennach unten

Formular: erst die Vorschau, dann verschicken

Die folgende Nachricht zum Thema stammt von: kungschu, 28. 02. 2007, 18:34

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.

nach oben
Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2007 Teil von Februar

© 1998-2006 Seite Impressum, Software: Classic Forum