f4e Geschrieben 14. September 2007 Geschrieben 14. September 2007 Hallo zusammen, ich habe einige Probleme am Mailform an dem ich immer noch rumhänge und immer wieder etwas neues finde was ich ändern möchte..... das erste....... Wenn ein User seine Daten in das From eingegeben hat und auf Senden drückt, bekommt er die ganzen Daten noch einmal angezeigt und das Form wird gesendet.................... ist zwas sehr schön funktioniert auch alles, aber der user hat dann keine Chance mehr etwas zu ändern....das Form ist ja gesendet............... wie bekomme ich das hin, dass er sich das anschauen kann ohne das das Form sofort beim klicken auf "senden" auf die reise geht, sondern das der User den Sendevorgang manuel anstossen muss???? das zweite..... da dieses Form eine Buchungsanfrage für ein Ferienhaus ist/sein soll oder mal werden soll...... möchte ich, dass wenn ein User im Textfeld für Erwachsene Personen eine 1 angibt(also 1 Erwachsener) das in der Datenansicht, wenn er sich seine daten noch einmal anschaut, ...1Erwachsener erscheint, wenn er aber eine 2 (für 2Erwachsene) eingibt, soll in der Ansicht auch 2Erwachene erscheinen und nicht wie jetzt 2 Erwachener..... wer von euch hat eine oder auch viele Ideen??? gruss dieter Zitieren
robotto7831a Geschrieben 14. September 2007 Geschrieben 14. September 2007 wer von euch hat eine oder auch viele Ideen??? Ich. Oder war das eine rhetorische Frage? Jetzt mal ehrlich. Wer soll dir so helfen? Frank Zitieren
f4e Geschrieben 14. September 2007 Autor Geschrieben 14. September 2007 Hallo, nein das war keine rhetorische Frage....... meinte ich eingentlich sehr ernst dieter Zitieren
f4e Geschrieben 14. September 2007 Autor Geschrieben 14. September 2007 Hallo, was brauchst du damit du mir vielleicht helfen kannst..... dieter Zitieren
robotto7831a Geschrieben 14. September 2007 Geschrieben 14. September 2007 Poste doch mal ausgewählten Quellcode mit dem Problem. Frank Zitieren
f4e Geschrieben 14. September 2007 Autor Geschrieben 14. September 2007 Hallo, alle funktionen sind soweit ok, das versenden der Mail an den Inhaber und an den Anfragestelle gehen auch..... was ich meine kann ich dir auf einem bild zeigen, wenn das hier geht dieter <html> <head> <title>xxxxxx</title> <link href="form.css" rel="stylesheet" type="text/css" /> <style type="text/css"> <!-- .Stil4 {font-size: xx-small} --> </style> </head> <body bgcolor="#FFFFFF" background="images/bg.gif" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" > <table width="900" border="0" align="center" cellpadding="0" cellspacing="0" class="border" height="794"> <tr> <td width="900" height="104" class="header"></td></tr> <tr> <td width="100%" height="23" class="navoben" ><table width="100%" border="0"> <tr> <td> </td> <td></td></tr> </table></td></tr> <tr> <td background="background="images/bg_maintable.gif"><table width="100%" border="0"> <tr> <td height="77"><br> Anfrageformular <br> </td></tr> </table> <table width="100%" height="1" bgcolor="#eeeeee" border="0" cellspacing="0" cellpadding="0"> <tr> <td bgcolor="#FFFFFF"></td></tr> </table><table width="899" height="400" border="0" cellpadding="0" cellspacing="5"> <tr> <td width="108" valign="top" height="571"> </td> <td width="30" background="images/dotted.gif" height="571"><img src="images/Abstandhalter.gif" width="1" height="1"/> </td><td width="575" height="700" valign="top" class="textbox"> <?php //mit $sent==1 wird getestet, ob das Formular abgeschickt wurde if ($sent==1) { //Ausgabe der eingegebenen Fromulardaten echo "<font color=black>Ihre Anschrift:</font><br>$anrede $vorname $nachname<br>$strasse<br>$plz $ort<br>"; echo "<font color=black>Ihre Telefon-Nr:</font> $tel<br>"; echo "<font color=black>Ihre Mailadresse:</font> $email<br>"; echo "<br><font color=black>Ihre Anfrage:<br></font>$betreff<br>"; echo "<font color=black>Ihre gewünschte Unterbringungart:</font><br>$auswahl von:$von bis: $bis<br>"; echo "<font color=black>Anzahl der Personen:</font><br>$erwachsen Erwachener/Erwachsene, $kind Kind/Kinder, $tier<br>"; echo "<font color=black>Besonderheiten:</font><br>$besonders<br>"; echo "<font color=black>Ihre Nachricht:</font><br>$nachricht<br>"; echo "<hr>"; // Testen ob alle Felder ausgefüllt wurden, ggf eine Fehlermeldung ausgeben und $sent löschen, damit das Formular erneut angzeigt wird if (!$anrede) {echo '<font color=red>Bitte geben sie Ihr Geschlecht an, da wir Sie in einer korrekten From anreden möchten!! </font><br>';unset ($sent);} //if (!$vorname) {echo '<font color=red>Bitte geben Sie Ihren Vornamen an!! </font><br>';unset ($sent);} if (!$nachname) {echo '<font color=red>Bitte geben Sie Ihren Nachnamen an!! </font><br>';unset ($sent);} //if (!$strasse) {echo 'Bitte geben Sie Ihre Straße an!! </font><br>' ;unset ($sent);} if (!$plz) {echo '<font color=red>Bitte geben Sie Ihre PLZ an!! </font><br>';unset ($sent);} if (!$ort) {echo '<font color=red>Bitte geben Sie Ihren Wohnort an!! </font><br>';unset ($sent);} //if (!$tel) {echo '<font color=red>Bitte geben Sie ihre Telefon-Nr. an!! </font><br>' ;unset ($sent);} if (!$email) {echo '<font color=red>Bitte geben Sie Ihre Mail-Adresse an!!</font><font color=black>Da wir sonst nicht auf Ihre Anfrage reagieren können.</font><br>' ;unset ($sent);} //Testen der Mail-Adresse---------------------------------------------------------------------------------------- $muster="^[_a-zA-Z0-9-](\.{0,1}[_a-zA-Z0-9-])*@([a-zA-Z0-9-]{2,}\,}\.){0,}[a-zA-Z0-9-]{3,}(\.[a-zA-Z]{2,4}){1,2}$"; if (ereg($muster, $email)) { echo " "; } else { echo "<font color=red>Bitte geben Sie eine korrekte Mail-Adresse an!!</font><br>"; } // Ende Testen Mail-Adresse--------------------------------------------------------------------------------------- if (!$betreff) {echo '<font color=red>Bitte geben sie den Grund Ihrer Nachricht an!! </font><br>' ;unset ($sent);} //if (!$auswahl) {echo '<font color=red>Bitte wählen Sie eine Unterbringungsart!! </font><br>' ;unset ($sent);} //if (!$von) {echo '<font color=red>Bitte geben Sie Ihren gewünschten Anreisetag an!! </font><br>' ;unset ($sent);} //if (!$bis) {echo '<font color=red>Bitte geben Sie Ihren gewünschten Abreisetag an!! </font><br>' ;unset ($sent);} //if (!$erwachsen) {echo '<font color=red>Bitte geben Sie die Zahl der erwachsenen Reisenden an!! </font><br>' ;unset ($sent);} //if (!$kind) {echo '<font color=red>Bitte geben Sie die Zahl der mitreisenden Kinder an!! </font><br>' ;unset ($sent);} //if (!$tier) {echo '<font color=red>Bitte geben Sie die Zahl der mitreisenden Haustiere an!! </font><br>' ;unset ($sent);} //if (!$besonders) {echo '<font color=red> Bitte geben Sie Ihre Besonderheiten an!! </font><br>' ;unset ($sent);} if (!$nachricht) {echo '<font color=red>Bitte geben Sie Ihre Mitteilung an uns ein!! </font><br>' ;unset ($sent);} echo "<hr>"; //Testen, ob alle Pflichtfelder ausgefüllt sind, wenn ja Mail vorbereiten und versenden if ($anrede AND $nachname AND $plz AND $ort AND $email AND $betreff AND $nachricht) { //Den Nachrichtentext für eine HTML-Mail zusammenbauen //Informationen an den Anfragesteller !!!...noch nicht fertig!!! //$mess= "<html><body>"; $mess= "Wir bedanken uns für Ihre Anfrage!!<br>"; $mess.= "Anrede: "; $mess.=$anrede; $mess.= "Vorname: "; $mess.=$vorname; $mess.= "Nachmane: "; $mess.=$nachname; $mess.= "Strasse: "; $mess.=$strasse; $mess.= "PLZ: "; $mess.=$plz; $mess.= "Ort: "; $mess.=$ort; $mess.= "Tel-Nr.: "; $mess.=$tel; $mess.= "E-Mail: "; $mess.=$email; $mess.= "Betreff: "; $mess.=$betreff; $mess.= "Art der Unterbringung: "; $mess.=$auswahl; $mess.= "Von: "; $mess.=$von; $mess.= "Bis: "; $mess.=$bis; $mess.= "Erwachsene: "; $mess.=$erwachsen; $mess.= "Kinder: "; $mess.=$kind; $mess.= "Haustiere: "; $mess.=$tier; $mess.= "Besonderheiten: "; $mess.=$besonders; $mess.= "Nachricht: "; $mess.=$nachricht; //$mess.="</body></html>"; //$header="Content-type:text/plain;chartset=iso-8859-1\n"; //Informationen an den Empfänger(Inhaber) $message= "<html><body>"; $message.= "Informationen des Anfragestellers!!<br>"; $message.=$anrede; $message.= " "; $message.=$vorname; $message.= " "; $message.=$nachname; $message.= "<br>"; $message.=$strasse; $message.= "<br>"; $message.=$plz; $message.= " "; $message.=$ort; $message.= "<br>Tel-Nr.: "; $message.=$tel; $message.= "<br>E-Mail: "; $message.=$email; $message.= "<br>Betreff: "; $message.=$betreff; $message.= "<br>Art der Unterbringung:<br> "; $message.=$auswahl; $message.= " "; $message.=$von; $message.= " - "; $message.=$bis; $message.= "<br>Erwachsene:"; $message.=$erwachsen; $message.= "<br>Kinder:"; $message.=$kind; $message.= "<br>Tiere:"; $message.=$tier; $message.= "<br>Besonderheiten: "; $message.=$besonders; $message.= "<br>Nachricht:<br> "; $message.=$nachricht; $message.="</body></html>"; //Den Header der Mail erstellen $header="Content-type:text/html;chartset=iso-8859-1\n"; //Die Mail an den Empfänger(Inhaber) versenden. Wenn kein Fehler auftritt, wird eine Erfolgsmeldung ausgegeben, andernfalls eine Fehlermeldung if(mail("admin@xx.de", "Eine Buchungsanfrage vom Ferienhaus-xxxxx!!", $message, $header)) { //Erfolgsmeldung ausgeben echo "Ihre Mail wurde erfolgreich versendet!! In wenigen Minuten erhalten sie eine Kopie Ihrer Anfrage."; } else { //Fehlermeldung ausgeben echo "Die Übertragung Ihrer Mail an unseren Server ist leider fehlgeschlagen. Bitte versuchen Sie es zu einem späteren Zeitpunkt noch einmal!!"; //$sent löschen, damit das Formular erneut angzeigt werden kann unset($sent); } //---------------------------------------------------------------------------------------------------------------------------------------- //Die Mail an den Anfragesteller versenden. Wenn kein Fehler auftritt, wird eine Erfolgsmeldung ausgegeben, andernfalls eine Fehlermeldung if(mail("$email", "Ihre Buchungsanfrage an das Ferienhaus-xxxxx!!", $mess, $header)) { //Erfolgsmeldung ausgeben echo "Eine Kopie Ihrer Mail wurde erfolgreich an Ihre Mail-Adresse versendet!!"; } else { //Fehlermeldung ausgeben echo "Die Übertragung der Kopie Ihrer Mail an Ihre Mail-Adresse ist leider fehlgeschlagen. Bitte Überprüfen Sie Ihre angegebene Mail-Adresse!!"; //$sent löschen, damit das Formular erneut angzeigt werden kann unset($sent); } //---------------------------------------------------------------------------------------------------------------------------------------- } //schliessende Klammer für if($vorname AND $nachname AND....) } //schliessende Klammer für if($sent==1) //Das Formular anzeigen, wenn $sent nicht existiert.....dies kann der Fall sein, wenn die Seite zum 1.Mal aufgerufen wird oder wenn $sent oben bei einem Fehler gelöscht wird if(!$sent) { ?> Zitieren
f4e Geschrieben 14. September 2007 Autor Geschrieben 14. September 2007 Hier kommt der rest...davon dieter <form action="<?php echo $PHP_SELF; ?>" method=post> <!-Verstecktes Feld um zu Testen, ob das Formular aufgerufen werden soll oder nicht-> <input type=hidden name=sent value=1> <table width="99%" height="62" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="61%" valign="top"> <br> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="10%" rowspan="4"> </td> <td width="16%" height="19">Anrede:*</td> <td width="74%"><input name="anrede" type="text" size="7" maxlength="6"> </td> </tr> <tr> <td width="16%">Vorname:</td> <td><input name="vorname" type="text" size="40" maxlength="40"></td> </tr> <tr> <td width="16%">Nachname:*</td> <td><input name="nachname" type="text" size="40" maxlength="40"></td> </tr> <tr> <td>Strasse:</td> <td><input name="strasse" type="text" size="40" maxlength="40"></td> </tr> </table> <table width="100%" height="21" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="10%"> </td> <td width="8%">PLZ:*</td> <td width="10%"><input name="plz" type="text" size="6" maxlength="5"></td> <td width="4%"> </td> <td width="7%"><div align="left">Ort:*</div></td> <td width="61%"><input name="ort" type="text" size="40" maxlength="40"></td> </tr> </table> <br></td> <td width="39%" valign="top"><span class="Stil4">Legende:<br> Die mit einem * markierten Felder müssen ausgefüllt werden!!<br> Hinweise über die einzelnen Eingabefelder erhalten Sie, wenn Sie mit dem Mauszeiger über das entsprechende Feld fahren. <br>Nach dem Versenden Ihrer Mail/Anfrage, erhalten sie autom. ein Kopie an Ihre angegebene Mail-Adresse </span></td> </tr> </table> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="6%" rowspan="2"> </td> <td width="6%">Tel-Nr:</td> <td width="31%"><input name="tel" type="text" size="40" maxlength="40"></td> <td width="6%">E-Mail:*</td> <td width="51%"><input name="email" type="text" size="40" maxlength="40" title="Bitte versuchen Sie eine korrekte E-Mail-Adresse anzugeben, da diese vor dem Versenden der Mail überprüft wird. Es erspart Ihnen nur Arbeit und den damit verbundenen Ärger. Denn eine solche Mail wird nicht versendet!!!"></td> </tr> <tr> <td width="6%">Betreff:*</td> <td colspan="3"><input name="betreff" type="text" value="Belegungsanfrage" size="105" maxlength="100" title="Sie können den Eintrag wenn Sie möchten einfach ändern."></td> </tr> </table> <br> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="6%"> </td> <td width="12%">Unterbringung:</td> <td width="16%" ><select name="auswahl"> <option>--</option> <option value="Ferienwohnung">Ferienwohnung</option> <option value="Ferienhaus">Ferienhaus</option> </select></td> <td width="4%">von:</td> <td width="18%"><input type="text" name="von" title="z.B. 01.Aug.2007 oder 01.12.2007"></td> <td width="4%"><div align="center">bis:</div></td> <td width="40%"><input type="text" name="bis" title="z.B. 01.Aug.2007 oder 01.12.2007"></td> </tr> </table> <br> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="6%"> </td> <td width="10%">Erwachsene:</td> <td width="6%"><input name="erwachsen" type="text" size="5" maxlength="2"></td> <td width="6%">Kinder:</td> <td width="10%"><input name="kind" type="text" size="5" maxlength="2"></td> <td width="8%">Haustiere:</td> <td width="54%"><input name="tier" type="text" maxlength="20" title="z.B. 1 mittelgroßer Hund oder 1 Katze usw."></td> </tr> </table> <table width="99%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="6%"> </td> <td width="13%">Besonderheiten:</td> <td width="81%"><input name="besonders" type="text" size="100" maxlength="99" title="z.B. Vogel im Käfig, Allergiker, Rollstuhlfahrer usw."></td> </tr> </table> <br> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="6%" rowspan="2"> </td> <td width="94%">Nachricht:*</td> </tr> <tr> <td valign="top"><textarea name="nachricht" class="nachricht" maxlength="255"></textarea></td> </tr> </table> <br> <table width="50%" border="0" align="left" cellpadding="0" cellspacing="0"> <tr> <td width="27%"><div align="center"> <input type="submit" name="Submit" value="Senden"> </div></td> <td> <div align="left"> <input type="reset" name="Submit" value="Zurücksetzen"> </div> <div align="right"></div></td> </tr> </table> </form> <?php } //schliessende Klammer für if(!$sent) !!WICHTIG!!!, die Klammer muss in einem PHP-Teil stehen!! ?> <br> <br> <br> <br> <div align="center"> <table width="99%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="44%"><div align="left"><a href="" onClick="JavaScript:self.close()">Fenster schließen</a></div></td> <td width="8%"> </td> <td width="48%"><div align="right"><a href="" onClick="JavaScript:self.close()">Fenster schließen</a></div></td> </tr> </table> </div></td><td width="1" background="images/dotted.gif" height="571"><img src="images/Abstandhalter.gif" width="1" height="1"/> </td> <td width="155" valign="top" height="571"> </td> </tr> </table></td></tr> <tr> <td height="28" background="images/footer.gif" class="footer"><div align="center"><FONT COLOR="#FFFFFF"><B><FONT SIZE="1"><I>Design by xxxx</I></FONT></B></FONT></div></td></tr> </table> </body> </html> Zitieren
Kaladhor Geschrieben 14. September 2007 Geschrieben 14. September 2007 Das erste Problem: Schalte einfach eine php-Seite dazwischen. Vom Formular schickst die Daten an diese Seite zu Ansicht, unten zwei Buttons: Senden und Ändern. Senden -> Schickt dann ab Ändern -> zurück zur Eingabemaske Zweites Problem: Anzahl der Erwachsenen nicht über ein Textfeld regeln, sondern eine Selectbox nehmen... maximale Anzahl auf 30 beschränken (oder so) Hinterher die getätigte Auswahl per if-Abfrage auf Singular/Plural Erwachsene überprüfen, entsprechnd dem Ergebnis die Beschriftung wählen. Ein kleiner Hinweis zu deinem Quelltext: Viel zu unübersichtlich! Einrückungen helfen ungemein Zitieren
Nachwuchsinformatiker Geschrieben 14. September 2007 Geschrieben 14. September 2007 Problem 1: Lade den Inhalt einfach in eine Form auf einer zwischen Seite, dort kann der Benutzer das ganze nochmal verändern bevor es entgültig an Mail "geparametert" wird. Alternativ kannst du bei der Überprüfenseite Links mit href="javascript:history.back() einsetzen, soweit ich weiß verbleibt der Inhalt bei modernen Browsern. Wie jemand anderes bereits erwähnt hat solltest du die Formulardaten dann erst auf einer Seite danach versenden. Problem 2: // Suffix if ($erwachsen == 1) { $suffix = "r"; } else { $suffix = ""; } // Und jetzt auf der anderen Seite echo "Personen: ".$erwachsen." Erwachsene".$suffix."__und so weiter__"; [/php] Übrigens: So wie ich mir den Code ansehe hast du dich nocht nicht viel mit PHP beschäftigt und beherrscht grundlegende HTML-Techniken nicht. Vielleicht probierst du einfach mal ein wenig mehr aus um Erfahrungen zu sammeln. Du kannst mit dem Script allein viel mehr anstellen, z. B. die Option hinzufügen ob man denn überhaupt eine Kopie will oder du schreibst die Mail neben dem Versenden auch noch in eine Datei oder sonst was. PS: Wer oder was sind Erwachene? Grüße Zitieren
f4e Geschrieben 14. September 2007 Autor Geschrieben 14. September 2007 Hallo, danke für deine Hilfe und auch sehr guten anmerkungen...... nein du hast recht, mit php beschäftige ich mich sonst nicht sehr oft.......mein job ist es neben der betriebsicherheit noch ca 750 server am laufen zu halten...... aber ich habe den fehler mit dem immer wieer leeren form gefunden..ich habe etwas vergessen einzutragen: value="<?php echo $vorname;?> damit geht es..... wer lesen kann ist immer klar im vorteil ich denke das jeder der eine Ferienwohnung buchen möchte auch gerne eine kopie der buchung haben will, aber du hast recht, ich werde diese möglichkeit einbauen.......... grüsse dieter Zitieren
alps86 Geschrieben 17. September 2007 Geschrieben 17. September 2007 Hier mal ein kleiner Tipp von mir: php/QuakeNet Tutorial - Einführung Durch die Seite bekommt man meiner Meinung einen schönen Einstieg in PHP, schau sie dir einfach mal an. Sonst wurden deine Probleme ja schon gelöst. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.