Hallo,
ich habe eine Frage zur Formularausgabe. Es ist nur ein "Schönheitsfehler", das Formular funktioniert eigentlich....
Ich habe ein Bestellformular, dass neben Pflichtfeldern auch "Wahlfelder" enthält, also Felder, die nicht ausgefüllt sein müssen.
Das Formular schickt die Bestelldaten mittels eines php-Skripts als E-Mail an mich und den Besteller und es gibt die Bestelldaten gleichzeitig auch mittels eines php-Skripts noch in einer Bestätigungsseite auf dem Bildschirm aus.
Bisher war es so, dass bei nicht ausgefüllten "Wahlfeldern" der Feldname sowohl in der E-Mail wie auch auf der Bestätigungsseite ohne Inhalt mitgesendet bzw. -angezeigt wurden.
Da ich meine Seiten designmäßig gerade etwas überarbeite, habe ich gedacht, dass ich mich auch mal an diesen "Schönheitsfehler" des Formulars ranmache.
Mit Forumssuche etc. habe ich den Schönheitsfehler für die Bestell-/Bestätigungsmail abgestellt. Ich habe dort eine if-else Konstruktion eingebaut, die tatsächlich nur dann die Wahlfelder mitschickt, wenn sie ausgefüllt wurden.
Wenn ich jetzt aber dieselbe if-else Konstruktion in das php-Skript für die Bildschirmbestätigungsseite eingebe, dann kommt dort nur Schrott raus...
Hier mein Skript für die Bildschirmbestätigungsseite:
Das Ergebnis sieht dann z.B. bei einer Eingabe im Nachrichtenfeld so aus:
Buchbestellung:
Autor: Werkkreis Literatur der Arbeitswelt
Titel: Augen rechts
Buch-Nr.: G-010
Preis: 3,10 EUR plus Versandkosten
Versandart: Büchersendung auf dem Landweg
Zahlungsart: Überweisung (Deutschland und EUR-Zone)
Bestellung durch:
Email: xxx@xxx.de
Name: test
Straße / Hausnummer: test
PLZ / Ort: 12345 test
Land: test
if (empty()) {} else {"Telefon: ";} if (empty()) {} else {"Fax: ";} if (empty(test)) {} else {"Ihre Nachricht: test ";}
==> die if-else Konstruktion wird hier nicht ausgeführt, sondern am Bildschirm angezeigt.
Ich habe versucht, die if-else-Konstruktion als seperates php-Skript innerhalb der Formularausgabe auszuführen, da kommen aber immer nur Fehlermeldungen...
Für Ideen wäre ich dankbar, ansonsten muss ich halt mit einem "halben" Schönheitsfehler weiterleben.
Gruß
GudrunS
ich habe eine Frage zur Formularausgabe. Es ist nur ein "Schönheitsfehler", das Formular funktioniert eigentlich....
Ich habe ein Bestellformular, dass neben Pflichtfeldern auch "Wahlfelder" enthält, also Felder, die nicht ausgefüllt sein müssen.
Das Formular schickt die Bestelldaten mittels eines php-Skripts als E-Mail an mich und den Besteller und es gibt die Bestelldaten gleichzeitig auch mittels eines php-Skripts noch in einer Bestätigungsseite auf dem Bildschirm aus.
Bisher war es so, dass bei nicht ausgefüllten "Wahlfeldern" der Feldname sowohl in der E-Mail wie auch auf der Bestätigungsseite ohne Inhalt mitgesendet bzw. -angezeigt wurden.
Da ich meine Seiten designmäßig gerade etwas überarbeite, habe ich gedacht, dass ich mich auch mal an diesen "Schönheitsfehler" des Formulars ranmache.
Mit Forumssuche etc. habe ich den Schönheitsfehler für die Bestell-/Bestätigungsmail abgestellt. Ich habe dort eine if-else Konstruktion eingebaut, die tatsächlich nur dann die Wahlfelder mitschickt, wenn sie ausgefüllt wurden.
Wenn ich jetzt aber dieselbe if-else Konstruktion in das php-Skript für die Bildschirmbestätigungsseite eingebe, dann kommt dort nur Schrott raus...
Hier mein Skript für die Bildschirmbestätigungsseite:
PHP:
<?php
echo <<<FORMULARAUSGABE
<h4><b>Buchbestellung:</b></h4>
Autor: $a<br>
Titel: $t<br>
Buch-Nr.: $b<br>
Preis: $p plus Versandkosten<p>
$versandart<br>
$zahlungsart<p>
<b>Bestellung durch:</b><br>
Email: $email<br>
Name: $name<br>
Straße / Hausnummer: $strasse<br>
PLZ / Ort: $plz $ort<br>
Land: $land<br>
if (empty($telefon)) {} else {"Telefon: $telefon\n";}
if (empty($fax)) {} else {"Fax: $fax\n\n";}
if (empty($comment)) {} else {"Ihre Nachricht:\n $comment\n\n";}
FORMULARAUSGABE;
// ENDE: if ($error=="")
}
// ENDE: if gesendet
}
?>
Das Ergebnis sieht dann z.B. bei einer Eingabe im Nachrichtenfeld so aus:
Buchbestellung:
Autor: Werkkreis Literatur der Arbeitswelt
Titel: Augen rechts
Buch-Nr.: G-010
Preis: 3,10 EUR plus Versandkosten
Versandart: Büchersendung auf dem Landweg
Zahlungsart: Überweisung (Deutschland und EUR-Zone)
Bestellung durch:
Email: xxx@xxx.de
Name: test
Straße / Hausnummer: test
PLZ / Ort: 12345 test
Land: test
if (empty()) {} else {"Telefon: ";} if (empty()) {} else {"Fax: ";} if (empty(test)) {} else {"Ihre Nachricht: test ";}
==> die if-else Konstruktion wird hier nicht ausgeführt, sondern am Bildschirm angezeigt.
Ich habe versucht, die if-else-Konstruktion als seperates php-Skript innerhalb der Formularausgabe auszuführen, da kommen aber immer nur Fehlermeldungen...
Für Ideen wäre ich dankbar, ansonsten muss ich halt mit einem "halben" Schönheitsfehler weiterleben.
Gruß
GudrunS
Zuletzt bearbeitet: