PHP Tutorial: PHP Formular senden und auswerten, Teil 3

Teil 3 - Optimierungen & Verbesserungen im Detail

Die grundlegende Funktionsweise eines Kontakformulars ist damit bereits erklärt, so daß nur noch ein paar Feinheiten offen bleiben:

Formular und mail-Funktion auf einer Seite

Anstatt das Eingabeformular und die eigentliche Versendung auf zwei verschiedene Seiten zu verteilen, läßt sich durch die if-Funktion auch beides auf einer Seite integrieren. Der grundlegende Gedanke ist dabei, daß überprüft wird, ob bereits eine Eingabe gemacht wurden (dann Versendung dieser per mail-Funktion) oder noch keine Eingaben vorliegen (dann bloße Ausgabe des Formulars). Dabei muß beim Klick auf die "Absenden"-Schaltfläche nochmals die gleiche Seite aufgerufen werden, also ...action="formular.php"... im form-Tag, wenn das ganze Formular über den Aufruf der Seite "formular.php" abgewickelt werden soll.

<?PHP

if ($_POST[nachricht]) {

 // hier steht der mail-Befehl zum Versenden

} else {

 // HTML-Code zur Ausgabe des Formulars

}

?>

Zeilenumbruch in eMails

Stehen mehrere Eingabefelder im Formular zur Verfügung (z. Bsp. Name, Nachricht, eMail-Adresse, Datum usw.), so werden diese regelmäßig alle in den eigentlichen Textteil der eMail integriert. Damit der Text weiterhin übersichtlich bleibt ist es sinnvoll, jedes Eingabefeld in einer neuen Zeile beginnen zu lassen. Bei der mail-Fuktion wird eine neue Zeile durch die Zeichenkette "\n" eingeleitet, so daß sich die verschiedenen Eingabe durch die Verknüpfung mit "." einfach zu einer zeilenweisen Aufzählung zusammenfügen lassen:

<?PHP

$text = $_POST[name]."\n".$_POST[nachricht]."\n".$_POST[datum];

mail("ich@ich.de","Email per Formular",$text);

?>

Weitere Erläuterungen zur Programmierung in PHP finden Sie in den anderen PHP-Tutorials; wer seine bereits seine ersten eigenen Skripte programmieren will findet Hilfe in der PHP-Befehlsreferenz und bei speziellen Fragen im Forum.

Viel Erfolg!
Das phpbox.de-Team

zurück

Ergänzung? Fehler? Schreib uns an team@phpbox.de
Du findest phpbox.de nützlich? Wir freuen uns über einen Link auf phpbox.de

Einstieg in PHP 8 und MySQL
PHP Buch