cyprian
Goto Top

Onlineanfrage zur Reservierung - zeitlich steuern?! geht sowas?

hallo leute, hab folgende frage...

betreue eine bowling-hp, heißt einpflegen von aktuellen ergebnissen, menükarten erstellen und gestalten etc...
es gibt auf dieser seite die möglichkeit eine reservierungsanfrage online zu senden, sprich anzahl der bahnen bestellen, mit essen, datum, uhrzeit usw...

Man müßte nur überlegen, ob/wie man in dem Script etwas einbaut, das verhindert, daß man am heutigen Tag eine Reservierung für den heutigen Tag vornehmen kann.

gruß,

cyprian

hier mal ein auszug des scriptes:

<script type="text/javascript">
function chkAnfrage () {
if (document.Anfrage.Name.value == "") {
alert("Bitte Deinen Vornamen eingeben!");
document.Anfrage.Name.focus();
return false;
}
if (document.Anfrage.Nachname.value == "") {
alert("Bitte Deinen Nachnamen eingeben!");
document.Anfrage.Nachname.focus();
return false;
}
if (document.Anfrage.Anschrift.value == "") {
alert("Bitte Deine Adresse eingeben!");
document.Anfrage.Anschrift.focus();
return false;
}
if (document.Anfrage.PLZ.value == "") {
alert("Bitte Deine Postleitzahl eingeben!");
document.Anfrage.PLZ.focus();
return false;
}
if (document.Anfrage.Ort.value == "") {
alert("Bitte Deinen Wohnort eingeben!");
document.Anfrage.Ort.focus();
return false;
}
if (document.Anfrage.Telefon.value == "") {
alert("Bitte Deine Telefonnummer eingeben!");
document.Anfrage.Telefon.focus();
return false;
}
if (document.Anfrage.Anlass.value == "") {
alert("Bitte wähle einen Anlass!");
document.Anfrage.Anlass.focus();
return false;
}
if (document.Anfrage.Personen.value == "") {
alert("Bitte Anzahl der erwarteten Personen eingeben!");
document.Anfrage.Personen.focus();
return false;
}
if (document.Anfrage.bowlen.value == "") {
alert("Möchtet ihr bowlen?");
document.Anfrage.bowlen.focus();
return false;
}
if (document.Anfrage.email.value == "") {
alert("Bitte Deine Mailadresse eingeben!");
document.Anfrage.email.focus();
return false;
}
if (document.Anfrage.email.value.indexOf("@") == -1) {
alert("Keine E-Mail-Adresse!");
document.Anfrage.email.focus();
return false;
}
if (document.Anfrage.uhrzeit.value == "18 uhr") {
alert("Bitte Deine Mailadresse eingeben!");
document.Anfrage.uhrzeit.focus();
return false;
}
}
</script>

bitte für die letzte abfrage nicht steinigen, kenn mich mit java gar nicht aus...

hier gehts weiter:

<form name="Anfrage" onSubmit="return chkAnfrage()" action="http://www.domain.de/cgi-bin/selfmail.pl" method="post">
<input TYPE=HIDDEN name="Anfrage" value="Onlineanfrage zur Reservierung">
<input TYPE=HIDDEN name="return" value="http://www.domain.de/html/danke.htm">
<input TYPE=HIDDEN name="delimiter" value=":">
<input TYPE=HIDDEN name="subject" value="Onlineanfrage">
<hr><table width="100%" border="0" cellspacing="0" cellpadding="0" class="norm">
<tr>
<td colspan="4" background="../img/reserv/form-top.gif">&nbsp;</td>
</tr>
<tr>
<td width="25%" bgcolor="#CCCCCC"><div align="right">Vorname:&nbsp;</div></td>
<td width="25%" bgcolor="#CCCCCC"><input name="Name" type="text" id="Name" size="20" maxlength="40"></td>
<td width="25%" bgcolor="#CCCCCC"><div align="right">Nachname:&nbsp;</div></td>
<td width="25%" bgcolor="#CCCCCC"><input name="Nachname" type="text" id="Nachname" size="20" maxlength="40"></td>
</tr>
<tr>
<td width="25%" bgcolor="#CCCCCC"><div align="right">Adresse:&nbsp;</div></td>
<td width="25%" bgcolor="#CCCCCC"><input name="Anschrift" type="text" id="Anschrift" size="20" maxlength="40"></td>
<td width="25%" bgcolor="#CCCCCC">&nbsp;</td>
<td width="25%" bgcolor="#CCCCCC">&nbsp;</td>
</tr>
<tr>
<td width="25%" bgcolor="#CCCCCC"><div align="right">PLZ:&nbsp;</div></td>
<td width="25%" bgcolor="#CCCCCC"><input name="PLZ" type="text" id="PLZ" size="5" maxlength="5"></td>
<td width="25%" bgcolor="#CCCCCC"><div align="right">Ort:&nbsp;</div></td>
<td width="25%" bgcolor="#CCCCCC"><input name="Ort" type="text" id="Ort" size="20" maxlength="40"></td>
</tr>
<tr>
<td width="25%" bgcolor="#CCCCCC"><div align="right">Telefon:&nbsp;</div></td>
<td width="25%" bgcolor="#CCCCCC"><input name="Telefon" type="text" id="Telefon" size="15" maxlength="30"></td>
<td width="25%" bgcolor="#CCCCCC">&nbsp;</td>
<td width="25%" bgcolor="#CCCCCC">&nbsp;</td>
</tr>
<tr>
<td colspan="4" background="../img/reserv/form-back.gif">&nbsp;</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="norm">
<tr>
<td width="50%" valign="top" bgcolor="#CCCCCC"><div align="right">Grund der Anfrage:&nbsp;</div></td>
<td width="50%" bgcolor="#CCCCCC"><p>
<label>
<input type="radio" name="Anlass" value="Geburtstag">
Geburtstag</label>
<br>
<label>
<input type="radio" name="Anlass" value="Betriebsfeier">
Betriebsfeier</label>
<br>
<label>
<input type="radio" name="Anlass" value="Weihnachtsfeier">
Weihnachtsfeier</label>
<br>
<label>
<input type="radio" name="Anlass" value="Bowling">
Bowling</label>
<br>
<label>
<input type="radio" name="Anlass" value="sonstiges">
Sonstiger Anlass</label>
<br>
</p></td>
</tr>
<tr>
<td colspan="2" background="../img/reserv/form-back.gif">&nbsp;</td>
</tr>
<tr>
<td width="50%" bgcolor="#CCCCCC"><div align="right">Anzahl der Personen:&nbsp;</div></td>
<td width="50%" bgcolor="#CCCCCC"><input name="Personen" type="text" id="Personen" size="2" maxlength="3"></td>
</tr>
<tr>
<td colspan="2" background="../img/reserv/form-back.gif">&nbsp;</td>
</tr>
<tr>
<td width="50%" bgcolor="#CCCCCC"><div align="right">Datum:&nbsp;</div></td>
<td width="50%" bgcolor="#CCCCCC"><select name="Tag" id="Tag">
<option value="01" selected>01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
<option value="09">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
&nbsp;
<select name="Monat" id="Monat">
<option value="Januar" selected>Januar</option>
<option value="Februar">Februar</option>
<option value="M&auml;rz">M&auml;rz</option>
<option value="April">April</option>
<option value="Mai">Mai</option>
<option value="Juni">Juni</option>
<option value="Juli">Juli</option>
<option value="August">August</option>
<option value="September">September</option>
<option value="Oktober">Oktober</option>
<option value="November">November</option>
<option value="Dezember">Dezember</option>
</select>
&nbsp;
<select name="Jahr" id="Jahr">
<option value="2007" selected>2007</option>
<option value="2008">2008</option>
</select> </td>
</tr>
<tr>
<td width="50%" bgcolor="#CCCCCC"><div align="right">Uhrzeit:&nbsp;</div></td>
<td width="50%" bgcolor="#CCCCCC">von&nbsp;
<select name="von" size="1">
<option value="10:00">10:00</option>
<option value="10:30">10:30</option>
<option value="11:00">11:00</option>
<option value="11:30">11:30</option>
<option value="12:00">12:00</option>
<option value="12:30">12:30</option>
<option value="13:00" selected>13:00</option>
<option value="13:30">13:30</option>
<option value="14:00">14:00</option>
<option value="14:30">14:30</option>
<option value="15:00">15:00</option>
<option value="15:30">15:30</option>
<option value="16:00">16:00</option>
<option value="16:30">16:30</option>
<option value="17:00">17:00</option>
<option value="17:30">17:30</option>
<option value="18:00">18:00</option>
<option value="18:30">18:30</option>
<option value="19:00">19:00</option>
<option value="19:30">19:30</option>
<option value="20:00">20:00</option>
<option value="20:30">20:30</option>
<option value="21:00">21:00</option>
<option value="21:30">21:30</option>
<option value="22:00">22:00</option>
<option value="22:30">22:30</option>
<option value="23:00">23:00</option>
</select>&nbsp;bis&nbsp;<select name="bis" size="1">
<option value="10:30">10:30</option>
<option value="11:00">11:00</option>
<option value="11:30">11:30</option>
<option value="12:00">12:00</option>
<option value="12:30">12:30</option>
<option value="13:00">13:00</option>
<option value="13:30">13:30</option>
<option value="14:00" selected>14:00</option>
<option value="14:30">14:30</option>
<option value="15:00">15:00</option>
<option value="15:30">15:30</option>
<option value="16:00">16:00</option>
<option value="16:30">16:30</option>
<option value="17:00">17:00</option>
<option value="17:30">17:30</option>
<option value="18:00">18:00</option>
<option value="18:30">18:30</option>
<option value="19:00">19:00</option>
<option value="19:30">19:30</option>
<option value="20:00">20:00</option>
<option value="20:30">20:30</option>
<option value="21:00">21:00</option>
<option value="21:30">21:30</option>
<option value="22:00">22:00</option>
<option value="22:30">22:30</option>
<option value="23:00">23:00</option>
<option value="23:30">23:30</option>
<option value="24:00">24:00</option>
<option value="00:30">00:30</option>
<option value="01:00">01:00</option>
</select>
&nbsp;Uhr</td>
</tr>
<tr>
<td colspan="2" background="../img/reserv/form-back.gif">&nbsp;</td>
</tr>
<tr>
<td width="50%" valign="top" bgcolor="#CCCCCC"><div align="right">Bahnreservierung:&nbsp;</div></td>
<td width="50%" bgcolor="#CCCCCC"><p>
<label>
<input type="radio" name="bowlen" value="Ja">
Ja</label>
<br>
<label>
<input type="radio" name="bowlen" value="Nein">
Nein</label>
<br>
<td width="50%" bgcolor="#CCCCCC"><div align="right"></div></td>
<td width="50%" bgcolor="#CCCCCC"><textarea name="W&uuml;nsche" cols="30" rows="12" class="norm" id="W&uuml;nsche">Te </textarea></td>
</tr>
<tr>
<td colspan="2" background="../img/reserv/form-back.gif">&nbsp;</td>
</tr>
<tr>
<td width="50%" bgcolor="#CCCCCC"><div align="right">eMail-Adresse:&nbsp;</div></td>
<td width="50%" bgcolor="#CCCCCC"><input name="email" type="text" id="email" value="Bitte eintragen!" size="20" maxlength="40"></td>
</tr>
<tr>
<td colspan="2" background="../img/reserv/form-bottom.gif">&nbsp;</td>
</tr>
<tr>
<td colspan="2"><hr></td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td width="50%"><div align="right">
<input name="abschicken" type="submit" id="abschicken" value="Senden">&nbsp;</div></td>
<td width="50%">&nbsp;<input name="l&ouml;schen" type="reset" id="l&ouml;schen" value="L&ouml;schen"></td>
</tr>
</table>
</form></td>


es gibt mir darum, dass anfragen, die noch am selben abend ab 18 uhr getätigt werden, per "alert" - popup unterbunden werden sollen, dann lieber telefonisch reservieren lassen, da das büro nicht mehr besetzt ist...

habt ihr mich verstanden, wie müsste die abfrage aussehen??

Content-Key: 86156

Url: https://administrator.de/contentid/86156

Printed on: April 23, 2024 at 14:04 o'clock

Member: Arano
Arano May 05, 2008 at 17:02:20 (UTC)
Goto Top
Hallo Cyprian,

Javascript und Java sind zwei verschiedene Dinge :wink:

Viel kann ich dir womöglich nicht helfen, aber schau die doch mal das an : http://de.selfhtml.org/javascript/objekte/date.htm
Da hast du auch viele Beispiele wie du die einzelnen Methoden verwenden kannst.
In deinem Fall müsstest du dir die Aktuelle Stundenzahl holen und diese mit einer festgesetzten vergleichen bzw. prüfen ob es schon später ist "stunde>=18".

Beschränke dich dabei aber nicht nur auf die Uhrzeit, den eine Reservierung die um 20:47 Uhr erstellt wird und für übermorgen um 19:00 Uhr bestimmt ist ist ja erlaubt sofern ich das richtig verstanden habe.
Beginne daher bei dem größtmöglichem Indikator, der Jahreszahl, wenn diese größer als der aktuellen ist ist alles okay (Reserv. fürs nächste Jahr). Wenn diese aber dem Aktuellem entspricht, prüfe den Monat, dann den Tag und dann erst die Stunde.

Naja, vielleicht konnte ich doch ein bisschen helfen.

Hm... aber das ist doch hoffentlich nicht die einzige Kontrolle der Benutzereingaben die du machst oder ?
"Alle Benutzereingaben sind BÖSE !" ...und erfordern somit eine serverseitige Kontrolle (z.B: durch ein Perl-Script wie in deinem Fall)
Verzeih mir wenn ich mir jetzt zufiel erlaube :smile:
Würde ich das Javascript in meinem Browser deaktivieren, ist das gesamte Script funktionslos da es nie aufgerufen wird, das Formular hingegen wird aber trotzdem verschickt. Und mit ein bisschen Manipulation könnt ich die eine Reservierung für 2015 zukommen lassen.
Das stiftet sicher Verwirrung im Büro und soweit muss man es ja gar nicht erst kommen lassen.
Für den Benutzer hingegen ist es schon recht Praktisch da er so nicht lange auf den neuen Seitenaufbau warten muss und die Felder ihre eingegebene Werte behalten. Dennoch sollte auf eine serverseiteige Kontrolle nicht verzichtet werden :wink:

Ich habe da noch etwas im Quelltext entdeckt, ich bin mit da zwar nicht 100%ig sicher, aber zu 80%
...name="W&uuml;nsche" ... id="W&uuml;nsche" ...  
"&" und ";" sind Sonderzeichen und sind dafür nicht erlaubt !
Beschränke dich bei der Namensgebung solcher Eigenschaften auf a-z 0-9 dem Binde- und Unterstrich (-_). Beginne dabei mit einem Buchstaben. Groß- und Kleinschreibung ist erlaubt, wird aber unterschieden ! Einfach ist es dabei sich auf eine Schreibweise zu beschränken (alles klein, alles groß, erste groß rest klein) aber das liegt mal wieder im Auge des Betrachters.


Gruß Arano