Hallo,
ich erstelle gerade für die Eltern meiner Freundin eine Homepage.
Nun bastele ich schon etwas mit der Hilfe von einem Bekannten an einer Formularabfrage. Er hat mir auch das forum wärmstens empfohlen.
(Ich hatte leider im Studium nicht wirklich in PHP aufgepasst. Muss ich mal dringend ändern, wenn ich Zeit habe).
Ich hoffe Ihr könnt mir helfen das Formular richtig anzupassen.
Lasst Euch auf der Seite nicht irretieren. Die Pflichtferlder habe ich noch nicht angepasst.
Meine Fragen:
1.Kann man an sich an der Abfrage noch etwas verbessern?
2.Kann man die Farbe der Meldungen anpassen?
Ich konnte es zwar selbst anpassen, aber bei der Fehlermeldung des
Textfeldes ging es nicht. Dort wird dann der HTML-Code einschl.
Fehlermeldung angezeigt. Die Fehlermeldung unter/neben dem textfeld
zu schreiben geht Layoutmäßg nicht wirklich.
3.Irgendwie scheint die Faxabfrage nicht richtig zu funktionieren.
Auch, wenn Felder keine Pflicht sind, sollen diese, wenn etwas eingegeben wird, natürlich überprüft werden.
4.Der Einleitungssatz, der dann in der vom Formular übersendeten Mail
steht, ist zwar schön, aber nicht optimal.
4.1 Kann man zusätzlich noch Anrede(falls gesetzt) und das aktuelle
Datum einfügen?
4.2 Was ich wichtig finde: Kann man unter dem Einleitungssatz, so dass
es optisch gut aussieht, die gesamten Date, falls
eingetragen, "tabellarisch aufführen?
Bsp: Einleitungssatz
==============
Datum:
Anrede:
Name:
Vorname:
[...]
5. Kann man zusätzlich, falls eine E-Mail Adresse eingegeben wurd, eine
entsprechende Bestätigungs-Mail an den Adressaten schicken?
Ich hoffe ich erscheine mit meinen Fragen nicht zu unverschämt.
Ich hoffe nämlich, dass ich Morgen, zumindest mit dem Formular, einigermaßen fertig bin, da ich Morgen zu den Eltern meiner Freundin fahre.
Auf Hilfe hoffend
SPMan
Anbei die PHP-Datei im ZIP-Format und der Code, zusammengekürzt:
ich erstelle gerade für die Eltern meiner Freundin eine Homepage.
Nun bastele ich schon etwas mit der Hilfe von einem Bekannten an einer Formularabfrage. Er hat mir auch das forum wärmstens empfohlen.
(Ich hatte leider im Studium nicht wirklich in PHP aufgepasst. Muss ich mal dringend ändern, wenn ich Zeit habe).
Ich hoffe Ihr könnt mir helfen das Formular richtig anzupassen.
Lasst Euch auf der Seite nicht irretieren. Die Pflichtferlder habe ich noch nicht angepasst.
Meine Fragen:
1.Kann man an sich an der Abfrage noch etwas verbessern?
2.Kann man die Farbe der Meldungen anpassen?
Ich konnte es zwar selbst anpassen, aber bei der Fehlermeldung des
Textfeldes ging es nicht. Dort wird dann der HTML-Code einschl.
Fehlermeldung angezeigt. Die Fehlermeldung unter/neben dem textfeld
zu schreiben geht Layoutmäßg nicht wirklich.
3.Irgendwie scheint die Faxabfrage nicht richtig zu funktionieren.
Auch, wenn Felder keine Pflicht sind, sollen diese, wenn etwas eingegeben wird, natürlich überprüft werden.
4.Der Einleitungssatz, der dann in der vom Formular übersendeten Mail
steht, ist zwar schön, aber nicht optimal.
4.1 Kann man zusätzlich noch Anrede(falls gesetzt) und das aktuelle
Datum einfügen?
4.2 Was ich wichtig finde: Kann man unter dem Einleitungssatz, so dass
es optisch gut aussieht, die gesamten Date, falls
eingetragen, "tabellarisch aufführen?
Bsp: Einleitungssatz
==============
Datum:
Anrede:
Name:
Vorname:
[...]
5. Kann man zusätzlich, falls eine E-Mail Adresse eingegeben wurd, eine
entsprechende Bestätigungs-Mail an den Adressaten schicken?
Ich hoffe ich erscheine mit meinen Fragen nicht zu unverschämt.
Ich hoffe nämlich, dass ich Morgen, zumindest mit dem Formular, einigermaßen fertig bin, da ich Morgen zu den Eltern meiner Freundin fahre.
Auf Hilfe hoffend
SPMan
Anbei die PHP-Datei im ZIP-Format und der Code, zusammengekürzt:
Code:
<? $to_email='test@test.de'; //Die Zieladresse $mail_success='versendet.html'; // Pfad zu einer Bestätigungsseite, wenn die Mail erfolgreich versendet wurde. $error=false; // Hier werden alle Pflichtfelder festgelegt. $pflicht[]='vorname'; $pflicht[]='name'; $pflicht[]='telefon'; $pflicht[]='plz'; $pflicht[]='ort'; $pflicht[]='nachricht'; if($_POST) { // prüfen, ob eines der Pflichtfelder leer ist foreach($pflicht AS $key => $result) { if(!$_POST[$result]) { ${$pflicht[$key].'_error'}='Bitte ausfüllen'; $error=true; } } // Prüfung der PLZ $pattern_plz="/^[0-9]{5}$/"; if(!preg_match($pattern_plz,$_POST['plz']) && $_POST['plz']!='') { $plz_error='falsche PLZ'; $error=true; } // Prüfung der Telefonnummer $pattern_tel="/^[0-9-()\/+.]*$/"; if(!preg_match($pattern_tel,$_POST['telefon']) && $_POST['telefon']!='') { $telefon_error='falsches Format'; $error=true; } // Prüfung der Faxnummer $pattern_telefax="/^[0-9-()\/+.]*$/"; if(!preg_match($pattern_telefax,$_POST['telefax']) && $_POST['telefax']!='') { $fax_error='falsches Format'; $error=true; } // Prüfung der E-Mail if($_POST['email']!='') { function checkmail($email) { if (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$", $email, $check)) { if(getmxrr(substr(strstr($check[0], '@'), 1), $validate_email_temp)) { return true; } if(checkdnsrr(substr(strstr($check[0], '@'), 1),"ANY")) { return true; } } return false; } if(!checkmail($_POST['email'])) { $email_error='falsches Format'; $error=true; } } // Wenn keine Fehler vorhanden, dann kann die Mail versendet werden if(!$error) { $from_name="{$_POST['vorname']} {$_POST['name']}"; $from_email=$_POST['email']; $headers = "X-Sender: $from_name<$from_email>\n"; $headers .= "X-Mailer: $from_name powered by SPMan\n"; $headers .= "Return-Path: <$from_email>\n"; $headers .= "Date: ". date('r'). "\n"; $headers .= "From: $from_email \n"; $headers .= "Sender: $from_email\n"; $headers .= "Reply-To: $from_email\n"; $headers .= "Organization: Test\n"; $headers .= "X-MSMail-Priority: Normal\n"; $headers .= "Content-Type: text/plain\n"; $comment = $from_name.'aus '.$_POST['plz'].' '.$_POST['ort'].' hat folgende Nachricht gesendet'."\n\n"; $comment .= $_POST['nachricht']; if(mail($to_email,$_POST['betreff'],$comment,$headers)) { header("LOCATION: $mail_success"); } } } ?> <html> <object><form id="beispielform" method="post" action=""> <label for="name">Anrede</label> <select style="width:60px" class="select" id="anrede" name="anrede" size="1"> <option></option> <option value="1">Herr</option> <option value="2">Frau</option> <option value="2">Firma</option></select><br /> <label for="name">Vorname</label><input style="width:165px" class="text" type="text" id="vorname" name="vorname" value="<?=$_POST['vorname'] ?>" size="100px" /><?=$vorname_error ?><br /> <label for="name">Name</label><input style="width:165px" class="text" type="text" id="name" name="name" value="<?=$_POST['name'] ?>" /><font color="#2F6D28">* </font><?=$name_error ?><br /> <label for="name">Strasse</label><input style="width:165px" class="text" type="text" id="strasse" name="strasse" value="<?=$_POST['strasse'] ?>" /><?=$strasse_error ?><br /> <label for="name">Plz / Ort</label><input style="width:40px" class="text" type="text" id="plz" name="plz" maxlength="5" value="<?=$_POST['plz'] ?>" /><input style="width:115px" class="text" type="text" id="Ort" name="ort" value="<?=$_POST['ort'] ?>" /><?=$plz_error ?><br /> <label for="name">Telefon</label><input style="width:165px" class="text" type="text" id="telefon" name="telefon" value="<?=$_POST['telefon'] ?>" /><font color="#2F6D28">* </font><?=$telefon_error ?><br /> <label for="name">Telefax</label><input style="width:165px" class="text" type="text" id="telefax" name="telefax" value="<?=$_POST['telefax'] ?>" /><?=$telefax_error ?><br /> <label for="name">E-Mail</label> <input class="text" style="width:165px" type="text" id="email" name="email" value="<?=$_POST['email'] ?>" /><?=$email_error ?><br /> <label for="name">Betreff</label> <input class="text" style="width:165px" type="text" id="betreff" name="betreff" value="<?=$_POST['betreff'] ?>" /><?=$betreff_error ?><br /> <label for="name">Ihre Nachricht</label><textarea style="width:250px" class="text" id="nachricht" name="nachricht" cols="" rows="5"><?=$_POST['nachricht'] ?><?=$nachricht_error ?></textarea><font color="#2F6D28">*</font><br /><br /> <input type="submit" id="submit" /><input type="reset" id="reset" /><br /> </form></object> <p class="stern">Die mit Sternchen<font color="#2F6D28">*</font> gekennzeichneten Felder müssen ausgefüllt werden.</p><br /> </html>
Kommentar