Problem mit Datumsanzeige und Formularprüfer

holger_buns

Mitglied
Hallo,
ich hab eine Seite mit einer Buchungsanfrage. Dort wird werden 2 Datumsfelder abgefragt als Pflichtfelder. Diese lasse ich mit einem Javascript Befehlt "datepicker" eintragen. Wenn nun das Formular abgesendet wird, bringt mir der Formularprüfer die Meldung, dass die beiden Datumsfelder noch ausgefüllt werden müssen obwohl diese aber ausgefüllt sind.
Ausserdem werden die Eintragungen welche ich bei den Auswahlfeldern Anzahl Personen, Anzahl Einzel- und doppelzimmer gemacht habe nicht gespeichert wenn ich das Formular versende und ich vielleicht vergessen habe ein anderes Pflichtfeld zu befüllen. Dann kommt die Meldung das ich in einem bestimmten Feld noch einen Eintrag hinterlegen muss, aber die Auswahllisten Felder sind dann wieder leer. Bei der Anschrift ist das nicht der Fall.

http://www.plastisches.de/test/hc/buchungsanfrage.php

Gruss
Holli
 
Wie auch in deinem anderen Beitrag. Ohne den PHP-Code zu sehen kann man nicht sagen woran es liegt!

Normal fehlt da beim Laden der Seite die Prüfung ob Daten mitgeschickt wurden, diese musst du dann natürlich in die jew. Felder eintragen.

PHP:
<input type="text" name="feld1" value="<?php if (isset($_POST['feld1'])) echo $_POST['feld1']); ?>" />
 
Hallo,
hier der Code der Datei buchungsanfrage.php:

PHP:
<?
session_start();
// Konfiguration Mail
	$authHosts	= "hotel-haus-christa.de|plastisches.de|plastisches.de/test/hc/";	// getrennt durch |
	$Adress		= "assedo.burgard@googlemail.com";
	$subject	= "Anfrage über Kontaktseite Hotel Haus Christa";

// Konfiguration Antwortseite
	$antwort_start	= "<div>";
	$antwort	= "Ihre Anfrage hat uns erreicht. Vielen Dank! Wir werden uns umgehend mit Ihnen in Verbindung setzen.";
	$antwort2	= "<b>Hier noch einmal Ihre Angaben:</b>";
	$antwort_end	= "</div>";
?>

<!-- Anfang Error Kontaktformular , Hier wird überprüft ob die Eingaben vorgenommen wurden -->

PHP:
                                               <?
						require_once "formvalidator.php";			
						$show_form	= true;			
						if(isset($_POST['Submit']))			
						{			
							$validator = new FormValidator();			
							$validator->addValidation("Spam","spam=$authHosts","Error 403 - Zugriff verweigert. Keine Berechtigung");			
							$validator->addValidation("Name","req","Bitte geben Sie Ihren Namen ein");
							$validator->addValidation("Vorname","req","Bitte geben Sie Ihren Vornamen ein");
							$validator->addValidation("Strasse","req","Bitte geben Sie Ihre Straße ein");
							$validator->addValidation("Plz_Ort","req","Bitte geben Sie Ihre Postleitzahl und den Ort ein");
							$validator->addValidation("Telefon","req","Bitte geben Sie Ihre Telefonnummer für Rücfragen ein");
							$validator->addValidation("Anreise","req","Bitte geben Sie das gewünschte Anreisedatum ein");
							$validator->addValidation("Abreise","req","Bitte geben Sie das gewünschte Abreisedatum ein");
							$validator->addValidation("Personen","req","Bitte geben Sie die Personenzahl ein");
							$validator->addValidation("Einzelzimmer","req","Bitte geben Sie die Anzahl der Einzelzimmer ein");
							$validator->addValidation("Doppelzimmer","req","Bitte geben Sie die Anzahl der Doppelzimmer ein");
							$validator->addValidation("Code","captcha","Bitte geben Sie den Sicherheitscode korrekt ein");			
							if($validator->ValidateForm())			
							{			
							require_once "output.php";			
							$show_form=false;			
							}			
							else			
							{			
							echo "<div id='errorbox'>\n<ul>\n";			
							echo "<span class='errorstr'><B>Folgende Fehler sind aufgetreten:</B></span><br /><br />\n";			
							$error_hash = $validator->GetErrors();			
							foreach($error_hash as $inpname => $inp_err)			
							{			
							echo "<li>".ereg_replace("_"," ",$inpname).": $inp_err</li>\n";			
							}			
							echo "</ul>\n</div>\n";			
							}			
						}			
						if(true == $show_form)			
						{			
						?>


<!-- Anfang Kontaktformular, hier kommt das reine Kontaktformular -->

HTML:
                              <form action="<? echo $_SERVER['PHP_SELF']; ?>" method="POST">

<!-- Hier der die beiden Einträge mit dem Datumsformat, welche über ein Javascript als Datepicker hinterlegt ist. Das erkennt er anscheinend nicht als solches, weil bei der Prüfung immer wieder verlangt wird das ein Eintrag verlangt wird. -->

HTML:
                            <div class="reihe">
                            	<span class="label">Gew&uuml;nschte Anreise:*</span>
                                <span class="feld"><? if ($error_hash["Anreise"] != "") { ?><span style="float:left; margin-right:10px"><img src="http://www.tutorials.de/images/error.gif" alt="<? echo $error_hash['Anreise']; ?>" /></span><? } ?>
                                <input type="text" class="datepicker textfeld_date" value='<? echo htmlspecialchars($_POST['Anreise']); ?>' /></span>
                            </span></div><span class="feld">
                            <div class="reihe">
                            	<span class="label">Gew&uuml;nschte Abreise:*</span>
                                <span class="feld"><? if ($error_hash["Abreise"] != "") { ?><span style="float:left; margin-right:10px"><img src="http://www.tutorials.de/images/error.gif" alt="<? echo $error_hash['Abreise']; ?>" /></span><? } ?>
                                <input type="text" class="datepicker textfeld_date" value='<? echo htmlspecialchars($_POST['Abreise']); ?>' /></span>
                            </span></div>

<!-- Bei den Auswahllisten Felder besteht halt das Problem, dass er die getroffenen Eingaben nicht zwischenspeichert wenn ich auch absenden klicke und er nicht sendet, weil ein anderes Feld nicht ausgefüllt ist. Exemplarisch hier nur eins der Felder ... -->

HTML:
                            <div class="reihe">
                            	<span class="label">Anzahl der Personen:*</span>
                                <span class="feld"><? if ($error_hash["Personen"] != "") { ?><span style="float:left; margin-right:10px"><img src="http://www.tutorials.de/images/error.gif" alt="<? echo $error_hash['Personen']; ?>" /></span><? } ?>
                            	<select name="Personen" class="textfeld_select" size="1" >
                                	<option value=""></option>
                                    <option value="1" value='<? echo htmlspecialchars($_POST['Personen']); ?>'>1</option>
                                	<option value="2" value='<? echo htmlspecialchars($_POST['Personen']); ?>'>2</option>
                                    <option value="3" value='<? echo htmlspecialchars($_POST['Personen']); ?>'>3</option>		
                                    <option value="4" value='<? echo htmlspecialchars($_POST['Personen']); ?>'>4</option>
                                    <option value="5" value='<? echo htmlspecialchars($_POST['Personen']); ?>'>5</option>
                                    <option value="6" value='<? echo htmlspecialchars($_POST['Personen']); ?>'>6</option>	
                            	</select>
                            	</span>
                            </div>

<!-- Hier die Sicherheitsüberprüfung mit Captcha. Diese wird dann durch die Datei Formvalidator.php überprüft -->

HTML:
                        	<div class="reihe">
                            	<span class="label">Sicherheitscode:</span>
                            	<span class="feld"><? if ($error_hash["Code"] != "") { ?><span style="float:left; margin-right:10px"><img src="http://www.tutorials.de/images/error.gif" alt="<? echo $error_hash['Code']; ?>" /></span><? } ?>
                            	<img src="http://www.tutorials.de/images/securitycode.php?width=80&height=30&characters=4" id="captcha" alt="Bitte diesen 4-stelligen Code eingeben." title="Sicherheitscode eingeben." style="border: 1px solid #6478B4; float:left; height:35px; margin-right:10px;" /> <a href='javascript:CaptchaReload();'><img src="http://www.tutorials.de/images/icon_reload.png" alt="Sicherheitscode neu laden" title="Sicherheitscode neu laden" border="0" /></a> <input name="Code" type="text" class="captcha" size="4" maxlength="4" />
                            	</span>
                        	</div>

                        </form>
                        <?
                    	}// Ende true == $show_form
                    	?>




Der restliche Code findest du im anderen Beitrag.

Danke Holli
 
Zuletzt bearbeitet:
Ouch, formatieren währe bei der menge nicht schlecht gewesen.

Eben, das habe ich dir auch in deinem anderen Beitrag geschrieben!

1) Bearbeite deine Beiträge und setzte es in die entsprechenden Codetags!

2) Beschränke es auf den Code der wirklich wichtig ist. Die komplette Seite ist es sicher nicht.
 
Nein ist es nicht!

Es ist immer noch ein Durcheinander aus Buchstaben. So lange keine Codetags verwendet wurden und mal eine Zeile eingerückt wird, werde ich mir das nicht durchlesen.
 
Du hast es wohl geschafft den obigen Link aufzurufen und gerade mal das zu lesen was auf den ersten Blick zu sehen war: [ code ] ... [ /code ]

Das es nicht für alle aber doch für viele Sprachen eingene Tags gibt so weit bist du wohl nicht gekommen!?

Dann wird der Code nämlich farbig formatiert und ist somit lesbarer. Dazu kommt auch das man dadurch eventuelle Fehler gleich entdeckt!

Ich würde mir ja sogar die Mühe machen und deinen Beitrag so abzuändern wie es sein sollte. Aber dazu brauchen wir einen Moderator.
 
Zurück