Anmeldeformular funktioniert nicht
Auf meiner Homepage www.waren-ferienwohung.de sollen Interessenten eine Anfrage stellen können. Das möcht ich mit PHP lösen.
HTML-Formular (Auszug):
<form action="ferienant.php" method="post">
<tr>
<td>Bitte wählen: </td>
<td align="left"><select name="anrede">
<option value="Familie">Familie</option>
<!—gekürzt-->
</select></td>
</tr>
<tr>
<td>Vor− und Nachname:</td>
<td align="left"><input maxlength="50" type="text" name="name" size="40"></td>
</tr>
<tr>
<td>Straße:</td>
<td align="left"><input maxlength="60" type="text" name="strasse" size="40"></td>
</tr>
<!—gekürzt--><tr>
<td>Anzahl Personen:</td>
<td align="left"><select name="personenanzahl" size="1">
<option value> 1 </option>
<!—gekürzt-->
</select> Personen
</td>
</tr>
<tr>
<td>darunter Anzahl Kinder:</td>
<td align="left"><select name="anzahlkinder" size="1">
<option> 0 </option>
<!—gekürzt--><option> mehr </option>
</select>
</td>
</tr>
<tr>
<td>Wunschtermin:</td>
<td align="left"> vom: <select name="tag_beginn" size="1">
<option> 1 </option>
<!—gekürzt-->
<option> 31 </option>
</select>
<select name="monat_beginn" size="1">
<option> Januar </option>
<!—gekürzt-->
<option> Dezember </option>
</select>
<select name="jahr_beginn" size="1">
<option> 2008 </option>
<option> 2009 </option>
</select>
<br>
<select name="tag_ende" size="1">
<option> 1 </option>
<!—gekürzt-->
<option> 31 </option>
</select>
<select name="monat_ende" size="1">
<option> Januar </option>
<!—gekürzt-->
<option> Dezember </option>
</select>
<select name="jahr_ende" size="1">
<option> 2008 </option>
<option> 2009 </option>
</select>
</td>
</tr>
<hr>
</table>
Die php-Datei so:
<?
echo '<style type="text/css">
<!--gekürzt-->
</style>';
/*Anfrage an:*/
$webmaster = "anfrage@waren-ferienwohnung.de";
/*Absender */
$absender = "anfrage@waren-ferienwohnung.de";
$date = date ("d. M. Y");
$time = date ("H:i");
/*E-Mail an Webbetreiber------ Formularfelder eingefügen "$NameDesFeldes"*/
/*Betreffzeile*/ $betreffwebmaster = "Anfragemail von waren-ferienwohnung.de";
/*Ausgabetext*/ $koerperwebmaster = "E-Mail vom: $date um $time Uhr \n\n $anrede: \n $name \n $strasse \n $plz $ort \n Telefon: $telefon \n E-Mail: $email \n möchte mit: $personenanzahl Personen und $anzahlkinder Kindern \n vom: $tag_beginn.$monat_beginn.$jahr_beginn bis zum: $tag_ende.$monat_ende.$jahr_ende Urlaub machen \n und hat über die Webseite von waren-ferienwohnung.de folgende Nachricht hinterlassen:\n\n$anliegen";
/*E-Mail an den Absender*/
/*Betreff*/ $betreffabsender = "Kopie der Nachricht an anfrage@waren-ferienwohnung.de";
/*Textkörper*/ $koerperabsender = "Herzlichen Dank $anrede $name für Ihre Nachricht an anfrage@waren-ferienwohnung.de \n Sie haben uns folgende Nachricht gesendet: \n \n $anliegen \n";
/*Fehlermeldung bei falscher E-Mail-angabe-Serverausgabe*/
$mailfalsch = "<div align='center'><p class=bf>Sorry, Fehler</p><p>Die E-Mail-Adresse: <p class=bf>$email </p> ist fehlerbehaftet</p><p>Bitte kontrollieren Sie noch einmal Ihre Eingabe und senden bitte erneut ab.<br><br><input type=button value=Zurück onClick=window.location.href='javascript:history.back()'></p></div>";
/*Fehlermeldung, wenn Pflicht-Felder nicht ausgefüllt wurden-Serverausgabe*/
$felderleer = "<div align='center'><p class=bf>Sorry, Fehler</p><p>Die Nachricht konnte nicht versandt werden, da <p class=bf>nicht alle Felder ausgefüllt wurden</p><br><br><input type='button' value='Zurück' onClick=window.location.href='javascript:history.back()'></p></div>";
/*Bedankung und Informationen-Serverausgabe*/
$abgesandt = "<table border='0' width='100%'><tr><td align='center' valign='top' width='*'><p class=ba><br><br>Danke, Ihre Nachricht an anfrage@waren-ferienwohnung.de ist angekommen.<br><br>Ihre Anfrage werden wir umgehend bearbeiten.<br><br><img src='Bilder/br.jpg' width='320' height='253' border='1'><br></p><br><input type='button' value='Zurück' onClick=window.location.href='javascript:history.back()'> <input type='button' value='Weiter' onClick=window.location.href='index.htm'><br><br><br><p class='1'>Das könnte Sie auch interessieren...</p></td><td width='162'><table cellspacing='0' bordercolorlight='#EEE8BB' bordercolordark='#EEE8AA' border='2' width='185'><tr bgcolor='#EEE8AA' height='10'><td><p class='1'> </p></td></tr><tr height='85' bgcolor='#FFFACD'><td valign='top' ><table border='0' cellspacing='3' cellpadding='0'><tr><td class='2'>Sie sind Eisbader?</td></tr><tr><td class='3'>möchten auf das Eisbaden in der Müritz nicht verzichten?<br>Brauchen Sie auch nicht!</td></tr><tr><td><a target='_blank' href='http://www.warener-eisvoegel.de'>//www.warener-eisvoegel.de</a></td></tr></table></td></tr><tr height='85' bgcolor='#FFFACD'><td valign='top'> </td></tr><tr bgcolor='#EEE8AA' height='10'><td><p class='1'> </p></td></tr></table></td></tr></table>";
/*Felder die unbedingt auszufüllen sind*/
if ($anrede == "" || $name =="" || $strasse =="" || $plz =="" || $ort =="" || $telefon =="" || $email =="" || $personenanzahl =="" || $anzahlkinder =="" || $tag_beginn =="" || $monat_beginn =="" || $jahr_beginn =="" || $tag_ende =="" || $monat_ende =="" || $jahr_ende =="" || $anliegen =="" )
{
/*nein*/
echo "$felderleer";
}
else
{
/*ja*/
/*E-Mail-Adressenprüfung*/
if (ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,3})$", $email))
{
/*E-Mail-Adresse ist richtig*/
mail("$webmaster","$betreffwebmaster","$koerperwebmaster\n","FROM: $absender\n");
/*Kopie an Absender $_Werte in Übereinstimmung*/
if ($kopie == "ja")
{
mail("$email","$betreffabsender","$koerperabsender","FROM: $absender\n");
echo "$abgesandt";
}
else
{
echo "$abgesandt";
}
}
else
{
/*nein*/
echo "$mailfalsch";
}
}
?>
Ich bekomme immer die Aussage, das nicht alle Felder ausgefüllt sind.
Als Krücke nutze ich zur Zeit den Versandt als E-Mail. Wenn aber keine Outlook ... installiert hat, weil er nur einen Webmailer verwendet, sieht es blöd aus.
Ich hoffe auf Hilfe, auch wenn die Listingauszüge recht lang sind.
Antwort schreiben
Antwort 1 von MarisaS vom 07.08.2020, 06:14 Options
Guten Morgen,
falls du Firefox hast - schon mal mit Firebug / inspect probiert zu checken ?
LG
Marisa
Antwort 2 von rudiwaren vom 09.08.2020, 11:13 Options
Hallo Marisa,
habe mir geraqde Firefox und Firebug installiert. Kann aber auf den ersten Blick nicht erkennen, wie mir das helfen kann.
Könntest Du mir Tipps geben?
Grüße von der Müritz
Rüdiger
Antwort 3 von MarisaS vom 09.08.2020, 12:13 Options
Hallo,
der Firebug sollte dir bei Inspect einer Webseite am halben Schirm unten 2 Fenster anzeigen - im rechten siehst du ev. vorhandene Fehler.
LG
Marisa
Antwort 4 von rudiwaren vom 09.08.2020, 17:21 Options
Um PHP prüfen zu können, benötigt man doch FirePHP und eine Biblothek dazu.
Wo ich diese Bibliothek in xampp einbinden muss und wie ich dann die Seite prüfen kann - hat sich mir noch nicht erschlossen.
Bin recht ratlos und werd die Geschichte auf die lange Wartebank verschieben.
Antwort 5 von katy vom 18.08.2020, 19:13 Options
Hallo rudiwaren,
auf den ersten Blick fällt mir auf, dass es in deinem HTML-Codeschnipsel gar kein input-Feld "anliegen" gibt. Falls das nicht nur am Kürzen für dieses Posting liegt, wäre das eine Erklärung.
katy
Antwort 6 von rudiwaren vom 24.08.2020, 16:17 Options
Hallo Katy,
es gibt ein solches Feld:
<table align="center">
<tr>
<td align="left"> Fragen / Anregungen <br>
<textarea wrap="physical" rows="6" name="anliegen" cols="70"> </textarea></td>
</tr>
<tr>
<td class="1"><div align="center">Möchten Sie eine Kopie dieser Nachricht erhalten?<br>
<input type=radio name=kopie value=ja checked>ja
<input type=radio name=kopie value=nein>nein</div><br></td>
</tr>
<tr>
<td align="center" width="95%">
<input type="submit" name="Absenden" value="Absenden" style="BACKGROUND-COLOR:#D1FF8E">
<input type="reset" name="Löschen" value="Zurücksetzen" style="BACKGROUND-COLOR: #E0E0E0"> </td>
</tr>
</table>
Ich bin mal so vermessen und frage Dich, ob ich Dir die beiden Dateien mal per Mail schicken darf.
Danke für Deine Mühe.
Viele Grüße von der Müritz
Rüdiger