|
||||
PHP Kontaktformular funktioniert nicht wie es soll
Hallo Leute,
ich habe vor etwa einem Jahr für einen Kunden eine Homepage mit Kontaktformular erstellt, das einwandfrei funktioniert. Nun habe ich die Grundstruktur dieses Formulars genommen, um es bei einer anderen Homepage noch einmal zu verwenden, jedoch etwas abgewandelt. Bei dem Formular soll geprüft werden, ob die Pflichtfelder ausgefüllt sind. Die bereits eingegeben Daten sollen an die nachfolgende Seite übergeben werden. Die Prüfung funktioniert einwandfrei, doch sind die Felder leider nach dem Absenden des Formulars leer, ganz gleich ob nun per POST oder GET, ob nun die Pflichtfelder ausgefüllt wurden oder nicht. Vielleicht kann mir ja jemand helfen und mir sagen wo der Hase im Pfeffer liegt!? Hier der Quellcode des Kontaktformulars: Code:
<?php $nameOK = true; $emailOK = true; $nachrichtOK = true; if (isset($_POST['submit_x']) && isset($_POST['submit_y'])) { $ausgabe = ''; $fehler = ''; if (isset($_POST['FormName']) && !is_array($_POST['FormName']) && $_POST['FormName'] != '') { $ausgabe .= 'Name : ' . htmlspecialchars($_POST['FormName']) . "\n"; } else { $fehler .= '<span style="color:#C82725">Kein Name angegeben!</span><br />'; $nameOK = false; } if (isset($_POST['FormStrasse']) && !is_array($_POST['FormStrasse']) && $_POST['FormStrasse'] != '') { $ausgabe .= 'Strasse : ' . htmlspecialchars($_POST['FormStrasse']) . "\n"; } if (isset($_POST['FormOrt']) && !is_array($_POST['FormOrt']) && $_POST['FormOrt'] != '') { $ausgabe .= 'PLZ und Ort : ' . htmlspecialchars($_POST['FormOrt']) . "\n"; } if (isset($_POST['FormEMail']) && !is_array($_POST['FormEMail']) && $_POST['FormEMail'] != '') { $ausgabe .= 'E-Mail : ' . htmlspecialchars($_POST['FormEMail']) . "\n"; } else { $fehler .= '<span style="color:#C82725">Keine E-Mail angegeben!</span><br />'; $emailOK = false; } if (isset($_POST['FormTelefon']) && !is_array($_POST['FormTelefon']) && $_POST['FormTelefon'] != '') { $ausgabe .= 'Telefon : ' . htmlspecialchars($_POST['FormTelefon']) . "\n"; } if (isset($_POST['FormHandy']) && !is_array($_POST['FormHandy']) && $_POST['FormHandy'] != '') { $ausgabe .= 'Mobil : ' . htmlspecialchars($_POST['FormHandy']) . "\n"; } if (isset($_POST['FormFax']) && !is_array($_POST['FormFax']) && $_POST['FormFax'] != '') { $ausgabe .= 'Fax : ' . htmlspecialchars($_POST['FormFax']) . "\n"; } if (isset($_POST['FormRufname']) && !is_array($_POST['FormRufname']) && $_POST['FormRufname'] != '') { $ausgabe .= 'Rufname : ' . htmlspecialchars($_POST['FormRufname']) . "\n"; } if (isset($_POST['FormTierart']) && !is_array($_POST['FormTierart']) && $_POST['FormTierart'] != '') { $ausgabe .= 'Tierart : ' . htmlspecialchars($_POST['FormTierart']) . "\n"; } if (isset($_POST['FormRasse']) && !is_array($_POST['FormRasse']) && $_POST['FormRasse'] != '') { $ausgabe .= 'Rasse : ' . htmlspecialchars($_POST['FormRasse']) . "\n"; } if (isset($_POST['FormGeburtsdatum']) && !is_array($_POST['FormGeburtsdatum']) && $_POST['FormGeburtsdatum'] != '') { $ausgabe .= 'Geburtsdatum : ' . htmlspecialchars($_POST['FormGeburtsdatum']) . "\n"; } if (isset($_POST['FormGeschlecht']) && !is_array($_POST['FormGeschlecht']) && $_POST['FormGeschlecht'] != '') { $ausgabe .= 'Geschlecht : ' . htmlspecialchars($_POST['FormGeschlecht']) . "\n"; } if (isset($_POST['FormFarbe']) && !is_array($_POST['FormFarbe']) && $_POST['FormFarbe'] != '') { $ausgabe .= 'Farbe : ' . htmlspecialchars($_POST['FormFarbe']) . "\n"; } if (isset($_POST['FormMerkmale']) && !is_array($_POST['FormMerkmale']) && $_POST['FormMerkmale'] != '') { $ausgabe .= 'Merkmale : ' . htmlspecialchars($_POST['FormMerkmale']) . "\n"; } if (isset($_POST['FormNachricht']) && !is_array($_POST['FormNachricht']) && $_POST['FormNachricht'] != '') { $ausgabe .= 'Nachricht : ' . htmlspecialchars($_POST['FormNachricht']) . "\n"; } else { $fehler .= '<span style="color:#C82725">Keine Nachricht angegeben!</span><br />'; $nachrichtOK = false; } if ($fehler == '') { mail('thp-schlagenhauf@web.de', 'Kontaktformular Tierheilpraxis', $ausgabe); echo '<b><font color="green">Wir haben Ihre Nachricht erhalten und werden diese schnellstmöglich bearbeiten.</font></b><br /><br />'; } else { echo $fehler; } } ?> <p> <form method="POST" action="kontakt.php"> <fieldset class="kontaktdaten"> <legend>Kontaktdaten des Tierhalters</legend> <label for="name">Name</label><input size="30" id="name" name="FormName" type="text" value="" /><br /> <label for="strasse">Strasse, Nr.</label><input size="30" id="strasse" name="FormStrasse" type="text" value="" /><br /> <label for="ort">PLZ, Ort</label><input size="30" id="ort" name="FormOrt" type="text" value="" /><br /> <label for="email">E-Mail</label><input size="30" id="email" name="FormEMail" type="text" value="" /><br /> <label for="telefon">Telefon</label><input size="30" id="telefon" name="FormTelefon" type="text" value="" /><br /> <label for="handy">Mobil</label><input size="30" id="handy" name="FormHandy" type="text" value="" /><br /> <label for="fax">Fax</label><input size="30" id="fax" name="FormFax" type="text" value="" /><br /> </fieldset> <fieldset class="kontaktdaten"> <legend>Beschreibung des Tieres</legend> <label for="rufname">Rufname</label><input size="30" id="rufname" name="FormRufname" type="text" value="" /><br /> <label for="tierart">Tierart</label><input size="30" id="tierart" name="FormTierart" type="text" value="" /><br /> <label for="rasse">Rasse</label><input size="30" id="rasse" name="FormRasse" type="text" value="" /><br /> <label for="gebdat">Geburtsdatum</label><input size="30" id="gebdat" name="FormGeburtsdatum" type="text" value="" /><br /> <label for="geschlecht">Geschlecht</label><input size="30" id="geschlecht" name="FormGeschlecht" type="text" value="" /><br /> <label for="farbe">Farbe</label><input size="30" id="farbe" name="FormFarbe" type="text" value="" /><br /> <label for="merkmale">Merkmale</label><input size="30" id="merkmale" name="FormMerkmale" type="text" value="" /><br /> </fieldset> <fieldset class="anfrage"> <legend>Nachricht</legend> <textarea id="nachricht" name="FormNachricht" cols="45" rows="5"></textarea> </fieldset> <fieldset class="buttons"> <legend>Ihre Aktion</legend> <input type="image" name="submit" src="img/button-formular-absenden.png" alt="Formular absenden" /> <input type="reset" value="Eingabe löschen" class="senden" name="senden" /> </fieldset> </form> Und hier der Link zu dem Kontaktformular: KONTAKTFORMULAR (hier liegt die seite vorübergehend) Hoffentlich kann mir jemand von Euch sagen, wo das Problem liegt und mir eine Lösung nennen. Gruß, Bodo Geändert von bodoalbstadt (10.12.2008 um 23:25 Uhr) |
Sponsored Links |
Sponsored Links |
|
||||
Nächstes Problem mit Optionsfeld
Jetzt stehe ich gerade vor dem nächsten Problem. Mist aber auch.
Ich wollte nun eigentlich in dem Formular den Punkt "Geschlecht" mit zwei Optionsfeldern versehen: männlich und weiblich. Das Einfügen ist ja kein Problem. Nur leider wird der Wert hiervon nicht übegeben. Code:
<label for="geschlecht">Geschlecht</label><input type="radio" value="männlich" name="FormGeschlecht">männlich<input type="radio" name="FormGeschlecht" value="weiblich">weiblich |
|
||||
Hallo nach Albstadt,
erstmal der allgemeine Teil: Benutz keine Umlaute und Sonderzeichen in Feldnamen - das ist eine unnötige Fehlerquelle. Jetzt zum Problem: Eigentlich hast du alles richtig gemacht. Zugreifen tut man - wie immer in PHP - mit $_POST['FormGeschlecht']. Um das zu verdeutlichen, hab ich ein kleines Testcase gebaut. PHP-Code:
__________________
Um weitere Erklärungen eingeblendet zu bekommen, drücken Sie bitte die Tastenkombination Alt + F4 |
|
||||
Also, Timo, ich danke Dir für die Hilfe, doch mit "übergeben" meinte ich eigentlich, dass die Auswahl des Optionsfeldes auch nach dem Absenden des Formulars noch ausgewählt bleiben soll. Doch momentan ist es leider so, dass die Auswahl verschwunden ist. Hat also jemand vergessen, bspw. seinen Namen oder die Mail-Adresse anzugeben, so sind zwar soweit alle Daten in den Feldern noch vorhanden, aber das Optionsfeld muss erneut ausgewählt werden. Achtet man dann nicht darauf und es fällt einem nicht auf, ist hier also keine Auswahl mehr. Irgendwie also schon blöd. Ich hoffe, Du weißt was ich meine. Ich hab jetzt, zu so später Stunde, bestimmt nen ganz schönen Mist zusammen geschrieben.
Geändert von bodoalbstadt (13.09.2008 um 01:29 Uhr) |
|
||||
Bei XHTML muss es eher checked="checked" heißen
__________________
“My software never has bugs. It just develops random features ...” » DevShack - die Website des freien Webentwicklers Boris Bojic |
Sponsored Links |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
php script funktioniert nicht... Hilfe... | Argon007 | (X)HTML | 8 | 27.06.2010 01:20 |
alt + PHP funktioniert nicht | |SONY| | Serveradministration und serverseitige Scripte | 7 | 02.04.2010 17:00 |
Dateien auslagern - Include und PHP | ArcVieh | Serveradministration und serverseitige Scripte | 17 | 27.03.2008 18:09 |
PHP lernen? Grafiken später hinzufügen? | chilla | Offtopic | 0 | 21.07.2007 14:54 |