PHP Tutorial: PHP Formular senden und auswerten, Teil 2
Teil 2 - Die Formular-Eingaben senden
Nehmen wir an, der Besucher hat das Formular ausgefüllt, dabei als Namen "Biff" und als Nachricht "Jemand zu Hause ?" angegeben und anschließend auf die "Abschicken"-Schaltfläche geklickt. Dadurch wird -wie im HTML-Code angegeben- die Seite "formularversenden2.php" aufgerufen und in den Browser des Besuchers geladen.
Durch die Auswahl der post-Methode wurden die Eingaben vom Browser an den Server übertragen und stehen jetzt auf der aufgerufenen Seite im Array $_POST[] als Variablen zur Verfügung. Die Namen der Variablen entsprechen dabei den Namen der Formularfelder. Die Variable $_POST["name"] enthält also "Biff" und die Variable $_POST["nachricht"] den Text "Jemand zu Hause ?".
Die Eingaben können demnach auch ganz einfach mit dem echo-Befehl ausgegeben werden, z. Bsp. um dem Besucher nochmal anzuzeigen, welche Angaben er gemacht hat:
<?PHP
echo "Sie haben folgende Angaben gemacht:<br>";
echo "Ihr Name: $_POST[name]<br>";
echo "Ihre Nachricht $_POST[nachricht]";
?>
Der Besucher erhält dadurch folgende Ausgabe:
Sie haben folgende Angaben gemacht:
Ihr Name: Biff
Ihre Nachricht: Jemand zu Hause ?
Um jedoch die Eingaben per eMail zu versenden benötigt man die mail-Funktion. Diese hat folgenden Aufbau:
mail("empfänger","betreff","nachricht",["zusätzliche_header"]);
- Der Parameter "empfänger" muß die eMail-Adresse enthalten, an welche die Nachricht verschickt wird.
- Der Parameter "betreff" gibt die Betreff-Zeile an (engl. "subjekt"), die der Empfänger in seinem eMail-Programm sieht.
- Unter "nachricht" ist der eigentliche Text der eMail enthalten, der sich auch über mehrere Zeilen erstrecken kann.
- Der Parameter "zusätzliche_header" ist optional und muß nicht verwendet werden. Hier können zusätzliche Header (z. Bsp. MIME-Kodierung, reply-Adresse) versendet werden.
Für jeden Parameter kann natürlich auch eine Variable eingesetzt werden, deren Inhalt die mail-Funktion dann verwendet. Um die Eingaben an die eigene eMail-Adresse (z. Bsp. "ich@ich.de) zu versenden, wäre folgender Befehl nötig:
mail("ich@ich.de","Nachricht von $_POST[name]",$_POST[nachricht]);
Innerhalb weniger Sekunden nach dem Klick auf die "Absenden"-Schaltfläche landet die eMail mit den Eingaben des Besuchers im gewünschten Postfach.
zurück | weiter: PHP-Tutorial - Formular senden (Optimierungen)
Ergänzung? Fehler? Schreib uns an team@phpbox.de
Du findest phpbox.de nützlich? Wir freuen uns über einen Link auf phpbox.de