Formular zur PreisberechnungForum » Webzone » PHP & MySQL » Formular zur Preisberechnung
-
17.05.2009 um 17:23 Uhr
Hallo,
ich habe ein ganz einfaches Formular zur Preisberechnung aufgebaut.
preis.htm
<html> <body> Online Preisberechnung: <form action = "preis.php" method = "post" > <p> Bitte whlen Sie ein Gert: <p> <select name="ptyp1"> <option value="art1" selected> art1 </option> <option value="art2"> art2 </option> <option value="art3"> art3 </option> <option value="art4"> art4 </option> <option value="art5"> art5 </option> </select><p> <p> Bitte whlen Sie ihr Zubehr: <p> <select name="ptyp2"> <option value="art6" selected> art6 </option> <option value="art7"> art7 </option> <option value="art8"> art8 </option> <option value="art9"> art9 </option> <option value="art10"> art10 </option> </select><p> <input type="checkbox" name="cth" value="art11"> Zubehr TH (Aufpreis 0,50 Euro)<p> <input type="checkbox" name="cek" value="art12"> Zubehr EK (Aufpreis 1,00 Euro)<p> <input type = "submit" value=" Preis berechnen "> <input type = "reset"> </form> </body> </html>
... preis.php
<html> <body> <?php /* Auswahl Gert */ if ($_POST["ptyp1"] == "art1") $preis1 = 1.0; else if ($_POST["ptyp1"] == "art2") $preis1 = 2.0; else if ($_POST["ptyp1"] == "art3") $preis1 = 3.0; else if ($_POST["ptyp1"] == "art4") $preis1 = 4.0; else $preis1 = 5.0; /* Auswahl Zubehr */ if ($_POST["ptyp2"] == "art6") $preis2 = 1.0; else if ($_POST["ptyp2"] == "art7") $preis2 = 2.0; else if ($_POST["ptyp2"] == "art8") $preis2 = 3.0; else if ($_POST["ptyp2"] == "art9") $preis2 = 4.0; else $preis2 = 5.0; $preis = $preis1 + $preis2; /* Ausgabe */ echo "Der " . $_POST["ptyp1"] . " kostet $preis1 Euro"."<p>"; echo "Der " . $_POST["ptyp2"] . " kostet $preis2 Euro"."<p>"; echo "Gesamtpreis "; /* Zustze */ if (isset($_POST["cth"])) { echo " mit " . $_POST["cth"]; $preis = $preis + 0.5; } if (isset($_POST["cek"])) { echo " mit " . $_POST["cek"]; $preis = $preis + 1.0; } echo "<p> $preis Euro<p>"; echo "Zur Bestellung einfach Daten eingeben und absenden<p>"; ?> <form action = "#" method = "post"> <input name="bst"> Name<p> <input name="adr"> Adresse<p> <input type="radio" name="anr" value="Herr" checked> Herr <p> <input type="radio" name="anr" value="Frau"> Frau <p> <input type = "submit" value=" Bestellung absenden "> <input type = "reset"> </form > </body> </html>
Ich wrde jetzt gerne die Daten (Arikelauswahl, Preis, Anschrift des Bestellers) die in preis.php zu sehen sind per email versenden. Wie kann ich das machen?
Vielen Dank
Tom
-
17.05.2009 um 22:27 Uhr
Mit der Funktion mail();...
Beim Schattenbaum gibt ein sehr fein verstaendliches Tutorial dazu
=> http://www.schattenbaum.net/php/mail.php
Liebe Gruesse
Alice... { signatur } ... -
18.05.2009 um 22:40 Uhr
... habe ich probiert, klappt aber nicht so ganz. Ich bekomme nur eine Email ohne Inhalt.
Ich habe den Code aus preis.php unter /* Ausgabe */ in die Datei text.php ausgelagert.
Die mail Funktion habe ich in die Datei mail.php gepackt und text.php (Nachricht der Mail) per include hinzugefgt.
Wenn ich jetzt die Bestellung abschicke, kommt zwar eine Email an, aber ohne Inhalt ... den zeigt mail.php dafr im Browser an?!
Was mache ich falsch?
text.php
<?php /* Ausgabe */ echo "Der " . $_POST["ptyp1"] . " kostet $preis1 Euro"."<p>"; echo "Der " . $_POST["ptyp2"] . " kostet $preis2 Euro"."<p>"; echo "Gesamtpreis "; /* Zustze */ if (isset($_POST["cth"])) { echo " mit " . $_POST["cth"]; $preis = $preis + 0.5; } if (isset($_POST["cek"])) { echo " mit " . $_POST["cek"]; $preis = $preis + 1.0; } echo "<p> $preis Euro<p>"; echo "Zur Bestellung einfach Daten eingeben und absenden<p>"; ?> <form action = "mail.php" method = "post"> <input name="bst"> Name<p> <input name="adr"> Adresse<p> <input type="radio" name="anr" value="Herr" checked> Herr <p> <input type="radio" name="anr" value="Frau"> Frau <p> <input type = "submit" value=" Bestellung absenden "> <input type = "reset"> </form >
mail.php
<?php $sender = "homepage"; $sendermail = "muster1@muster.de"; $empfaenger = "muster2@muster.de"; $betreff = "Auftrag"; $message = include 'text.php'; mail($empfaenger, $betreff, $message, "From: $sender <$sendermail>"); ?>
-
19.05.2009 um 23:06 Uhr
... OK, Formulardaten von preis.php mit "mail()" zu verschicken funktioniert jetzt... aber wie bekomme ich die Preisdaten in die Mail? Die Preisdaten sind ja nicht in einem Formular. Wahrscheinlich sehe ich den Wald vor lauter Bumen nicht?! Kann mir jemand helfen?
Viele Gre
Tom