Hi,
Also so klappts: formular.php
ist aber leider noch unschön und - was viel schlimmer ist - eine potentielle Spamschleuder.
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">
htmlspecialchars() ist hier unnötig und $_SERVER['PHP_SELF'] ist manipulierbar.
<p id="errmess"><?php if(isset($_out['error']['name'])) {echo $_out['error']['name'];} ?></p>
Auch wenn Tom meint, ein leerer Absatz stört nicht - ich sehe das anders: es wird ggfls. sinnloses Markup generiert. Dabei ist es doch so einfach, das <p /> mit über PHP ausgeben zu lassen.
und die reservation.php:
warum eine Extra-Datei?
mail($empfaenger, $subject, $mailtext, "From: ".$_POST['name']);
und hier haben wir den Ansatzpunkt zum Missbrauch als Spam-Schleuder: $_POST['name'] ist manipulierbar und kann an dieser Stelle zusätzliche Mail-Header einschleusen. Ich kenne Leute, denen ihr Provider ein solches Formular zum Glück stillgelegt hatte, bevor größerer Schaden entstehen konnte.
Ist das zu umständlich, oder ist das sauber "programmiert"?
teils-teils. Du kannst Dir vieles vereinfachen, indem Du möglichst allgemeingültige Funktionen erstellst. Durch Toms Hinweise bist Du schon auf dem richtigen Weg - Du musst ihn nur noch zu Ende gehen.
Einiges fehlt auch noch völlig, z.B. die "Demaskierung" von magic_quotes (sofern vorhanden) und die Berücksichtigung der Zeichenkodierung. Aber auch eine Syntax-Prüfung der Telefonnummer wäre nicht verkehrt (und könnte auch den ein oder anderen Spam-Bot abhalten).
Aber schau Dir mal meinen universellen Formmailer und die Erläuterungen an.
freundliche Grüße
Ingo