H
i Trey,
Thank you very much for your support!
Sorry, I was not very clear before.... I would like the value of the dropdown menu to be shown and stored in my textbox, which is in the same page.
Do you know how to do it?
Thank you again.
Davide
It follows the PHP program I am using:
<?php
// ================================================== =======================================
// START OF CONFIGURATION ================================================== ================
// imReserve
// set your password here -
$websitepassword="**************";
$returnwebsite=*********************************** ****;
// To display your hotel/motel logo at the top of this page, replace images/logo.gif with your logo!
// HOW TO CONFIGURE YOUR IMRESERVE SOFTWARE ----------
// ( SETTINGS > EDIT SETTINGS > WEBSITE TAB)
// website update URL ----- is the web address of this file ( e.g.
www.yourhotel.com/booking.php )
// website password ----- the password as you entered above
// END OF CONFIGURATION ================================================== ================
// ================================================== =====================================
if (isset($_GET['test'])){
if (strtoupper(md5($websitepassword))==$_GET['password']){
echo "ok";
}else{
echo "password";
}
exit;
}
if (isset($_POST['data'])){
if (strtoupper(md5($websitepassword))==$_POST['password']){
$file = 'availability/data.php';
$fh = fopen($file, "wr");
$file_contents = $_POST['data'];
fwrite($fh, $file_contents);
fclose($fh);
}
exit;
}
if (isset($_GET['request'])){
if (strtoupper(md5($websitepassword))==$_GET['password']){
// return current bookings
echo file_get_contents('availability/bookings.php');
// remove current bookings from list
$file = 'availability/bookings.php';
$fh = fopen($file, "wr");
$file_contents = "";
fwrite($fh, $file_contents);
fclose($fh);
}
exit;
}
?>
<?php
$currentdate=date("Y-m-d");
if (!isset($_POST['bookingsubmit'])){
// form not submitted - show form
?>
<link rel="stylesheet" type="text/css" href="css/bookingform.css">
<script language=javascript src="javascript/calendarDateInput.js"></script>
<form method="POST" name="enquiry" action="index.php" onsubmit="return checkBooking();">
<input type="hidden" name="bookingsubmit" value="true"/>
<div align=center>
<img src="***************"/><br/>
<div class="title">Make a Reservation</div>
<div class="customerdata">
<table class="bookingtable">
<tr><td>First Name*</td><td><input type="textfield" name="firstname" class="bookingtext"/></td></tr>
<tr><td>Surname*</td><td><input type="textfield" name="surname" class="bookingtext"/></td></tr>
<tr><td>Address*</td><td><input type="textfield" name="address" class="bookingtext"/></td></tr>
<tr><td>City*</td><td><input type="textfield" name="city" class="bookingtext"/></td></tr>
<tr><td>Country*</td><td>
<select name="country" class="bookingtext">
<option value="">Country...</option>
<option value="Afganistan">Afghanistan</option>
<option value="Albania">Albania</option>
<option value="Algeria">Algeria</option>
<option value="American Samoa">American Samoa</option>
<option value="Andorra">Andorra</option>
<option value="Angola">Angola</option>
<option value="Anguilla">Anguilla</option>
<option value="Antigua & Barbuda">Antigua & Barbuda</option>
<option value="Argentina">Argentina</option>
<option value="Armenia">Armenia</option>
<option value="Aruba">Aruba</option>
<option value="Australia">Australia</option>
<option value="Austria">Austria</option>
<option value="Azerbaijan">Azerbaijan</option>
<option value="Bahamas">Bahamas</option>
<option value="Bahrain">Bahrain</option>
<option value="Bangladesh">Bangladesh</option>
<option value="Barbados">Barbados</option>
<option value="Belarus">Belarus</option>
<option value="Belgium">Belgium</option>
<option value="Belize">Belize</option>
<option value="Benin">Benin</option>
<option value="Bermuda">Bermuda</option>
<option value="Bhutan">Bhutan</option>
<option value="Bolivia">Bolivia</option>
<option value="Bonaire">Bonaire</option>
<option value="Bosnia & Herzegovina">Bosnia & Herzegovina</option>
<option value="Botswana">Botswana</option>
<option value="Brazil">Brazil</option>
<option value="British Indian Ocean Ter">British Indian Ocean Ter</option>
<option value="Brunei">Brunei</option>
<option value="Bulgaria">Bulgaria</option>
<option value="Burkina Faso">Burkina Faso</option>
<option value="Burundi">Burundi</option>
<option value="Cambodia">Cambodia</option>
<option value="Cameroon">Cameroon</option>
<option value="Canada">Canada</option>
<option value="Canary Islands">Canary Islands</option>
<option value="Cape Verde">Cape Verde</option>
<option value="Cayman Islands">Cayman Islands</option>
<option value="Central African Republic">Central African Republic</option>
<option value="Chad">Chad</option>
<option value="Channel Islands">Channel Islands</option>
<option value="Chile">Chile</option>
<option value="China">China</option>
<option value="Christmas Island">Christmas Island</option>
<option value="Cocos Island">Cocos Island</option>
<option value="Colombia">Colombia</option>
<option value="Comoros">Comoros</option>
<option value="Congo">Congo</option>
<option value="Cook Islands">Cook Islands</option>
<option value="Costa Rica">Costa Rica</option>
<option value="Cote DIvoire">Cote D'Ivoire</option>
<option value="Croatia">Croatia</option>
<option value="Cuba">Cuba</option>
<option value="Curaco">Curacao</option>
<option value="Cyprus">Cyprus</option>
<option value="Czech Republic">Czech Republic</option>
<option value="Denmark">Denmark</option>
<option value="Djibouti">Djibouti</option>
<option value="Dominica">Dominica</option>
<option value="Dominican Republic">Dominican Republic</option>
<option value="East Timor">East Timor</option>
<option value="Ecuador">Ecuador</option>
<option value="Egypt">Egypt</option>
<option value="El Salvador">El Salvador</option>
<option value="Equatorial Guinea">Equatorial Guinea</option>
<option value="Eritrea">Eritrea</option>
<option value="Estonia">Estonia</option>
<option value="Ethiopia">Ethiopia</option>
<option value="Falkland Islands">Falkland Islands</option>
<option value="Faroe Islands">Faroe Islands</option>
<option value="Fiji">Fiji</option>
<option value="Finland">Finland</option>
<option value="France">France</option>
<option value="French Guiana">French Guiana</option>
<option value="French Polynesia">French Polynesia</option>
<option value="French Southern Ter">French Southern Ter</option>
<option value="Gabon">Gabon</option>
<option value="Gambia">Gambia</option>
<option value="Georgia">Georgia</option>
<option value="Germany">Germany</option>
<option value="Ghana">Ghana</option>
<option value="Gibraltar">Gibraltar</option>
<option value="Great Britain">Great Britain</option>
<option value="Greece">Greece</option>
<option value="Greenland">Greenland</option>
<option value="Grenada">Grenada</option>
<option value="Guadeloupe">Guadeloupe</option>
<option value="Guam">Guam</option>
<option value="Guatemala">Guatemala</option>
<option value="Guinea">Guinea</option>
<option value="Guyana">Guyana</option>
<option value="Haiti">Haiti</option>
<option value="Hawaii">Hawaii</option>
<option value="Honduras">Honduras</option>
<option value="Hong Kong">Hong Kong</option>
<option value="Hungary">Hungary</option>
<option value="Iceland">Iceland</option>
<option value="India">India</option>
<option value="Indonesia">Indonesia</option>
<option value="Iran">Iran</option>
<option value="Iraq">Iraq</option>
<option value="Ireland">Ireland</option>
<option value="Isle of Man">Isle of Man</option>
<option value="Israel">Israel</option>
<option value="Italy">Italy</option>
<option value="Jamaica">Jamaica</option>
<option value="Japan">Japan</option>
<option value="Jordan">Jordan</option>
<option value="Kazakhstan">Kazakhstan</option>
<option value="Kenya">Kenya</option>
<option value="Kiribati">Kiribati</option>
<option value="Korea North">Korea North</option>
<option value="Korea Sout">Korea South</option>
<option value="Kuwait">Kuwait</option>
<option value="Kyrgyzstan">Kyrgyzstan</option>
<option value="Laos">Laos</option>
<option value="Latvia">Latvia</option>
<option value="Lebanon">Lebanon</option>
<option value="Lesotho">Lesotho</option>
<option value="Liberia">Liberia</option>
<option value="Libya">Libya</option>
<option value="Liechtenstein">Liechtenstein</option>
<option value="Lithuania">Lithuania</option>
<option value="Luxembourg">Luxembourg</option>
<option value="Macau">Macau</option>
<option value="Macedonia">Macedonia</option>
<option value="Madagascar">Madagascar</option>
<option value="Malaysia">Malaysia</option>
<option value="Malawi">Malawi</option>
<option value="Maldives">Maldives</option>
<option value="Mali">Mali</option>
<option value="Malta">Malta</option>
<option value="Marshall Islands">Marshall Islands</option>
<option value="Martinique">Martinique</option>
<option value="Mauritania">Mauritania</option>
<option value="Mauritius">Mauritius</option>
<option value="Mayotte">Mayotte</option>
<option value="Mexico">Mexico</option>
<option value="Midway Islands">Midway Islands</option>
<option value="Moldova">Moldova</option>
<option value="Monaco">Monaco</option>
<option value="Mongolia">Mongolia</option>
<option value="Montserrat">Montserrat</option>
<option value="Morocco">Morocco</option>
<option value="Mozambique">Mozambique</option>
<option value="Myanmar">Myanmar</option>
<option value="Nambia">Nambia</option>
<option value="Nauru">Nauru</option>
<option value="Nepal">Nepal</option>
<option value="Netherland Antilles">Netherland Antilles</option>
<option value="Netherlands">Netherlands (Holland, Europe)</option>
<option value="Nevis">Nevis</option>
<option value="New Caledonia">New Caledonia</option>
<option value="New Zealand">New Zealand</option>
<option value="Nicaragua">Nicaragua</option>
<option value="Niger">Niger</option>
<option value="Nigeria">Nigeria</option>
<option value="Niue">Niue</option>
<option value="Norfolk Island">Norfolk Island</option>
<option value="Norway">Norway</option>
<option value="Oman">Oman</option>
<option value="Pakistan">Pakistan</option>
<option value="Palau Island">Palau Island</option>
<option value="Palestine">Palestine</option>
<option value="Panama">Panama</option>
<option value="Papua New Guinea">Papua New Guinea</option>
<option value="Paraguay">Paraguay</option>
<option value="Peru">Peru</option>
<option value="Phillipines">Philippines</option>
<option value="Pitcairn Island">Pitcairn Island</option>
<option value="Poland">Poland</option>
<option value="Portugal">Portugal</option>
<option value="Puerto Rico">Puerto Rico</option>
<option value="Qatar">Qatar</option>
<option value="Reunion">Reunion</option>
<option value="Romania">Romania</option>
<option value="Russia">Russia</option>
<option value="Rwanda">Rwanda</option>
<option value="St Barthelemy">St Barthelemy</option>
<option value="St Eustatius">St Eustatius</option>
<option value="St Helena">St Helena</option>
<option value="St Kitts-Nevis">St Kitts-Nevis</option>
<option value="St Lucia">St Lucia</option>
<option value="St Maarten">St Maarten</option>
<option value="St Pierre & Miquelon">St Pierre & Miquelon</option>
<option value="St Vincent & Grenadines">St Vincent & Grenadines</option>
<option value="Saipan">Saipan</option>
<option value="Samoa">Samoa</option>
<option value="Samoa American">Samoa American</option>
<option value="San Marino">San Marino</option>
<option value="Sao Tome & Principe">Sao Tome & Principe</option>
<option value="Saudi Arabia">Saudi Arabia</option>
<option value="Senegal">Senegal</option>
<option value="Seychelles">Seychelles</option>
<option value="Serbia & Montenegro">Serbia & Montenegro</option>
<option value="Sierra Leone">Sierra Leone</option>
<option value="Singapore">Singapore</option>
<option value="Slovakia">Slovakia</option>
<option value="Slovenia">Slovenia</option>
<option value="Solomon Islands">Solomon Islands</option>
<option value="Somalia">Somalia</option>
<option value="South Africa">South Africa</option>
<option value="Spain">Spain</option>
<option value="Sri Lanka">Sri Lanka</option>
<option value="Sudan">Sudan</option>
<option value="Suriname">Suriname</option>
<option value="Swaziland">Swaziland</option>
<option value="Sweden">Sweden</option>
<option value="Switzerland">Switzerland</option>
<option value="Syria">Syria</option>
<option value="Tahiti">Tahiti</option>
<option value="Taiwan">Taiwan</option>
<option value="Tajikistan">Tajikistan</option>
<option value="Tanzania">Tanzania</option>
<option value="Thailand">Thailand</option>
<option value="Togo">Togo</option>
<option value="Tokelau">Tokelau</option>
<option value="Tonga">Tonga</option>
<option value="Trinidad & Tobago">Trinidad & Tobago</option>
<option value="Tunisia">Tunisia</option>
<option value="Turkey">Turkey</option>
<option value="Turkmenistan">Turkmenistan</option>
<option value="Turks & Caicos Is">Turks & Caicos Is</option>
<option value="Tuvalu">Tuvalu</option>
<option value="Uganda">Uganda</option>
<option value="Ukraine">Ukraine</option>
<option value="United Arab Erimates">United Arab Emirates</option>
<option value="United Kingdom" SELECTED>United Kingdom</option>
<option value="United States of America">United States of America</option>
<option value="Uraguay">Uruguay</option>
<option value="Uzbekistan">Uzbekistan</option>
<option value="Vanuatu">Vanuatu</option>
<option value="Vatican City State">Vatican City State</option>
<option value="Venezuela">Venezuela</option>
<option value="Vietnam">Vietnam</option>
<option value="Virgin Islands (Brit)">Virgin Islands (Brit)</option>
<option value="Virgin Islands (USA)">Virgin Islands (USA)</option>
<option value="Wake Island">Wake Island</option>
<option value="Wallis & Futana Is">Wallis & Futana Is</option>
<option value="Yemen">Yemen</option>
<option value="Zaire">Zaire</option>
<option value="Zambia">Zambia</option>
<option value="Zimbabwe">Zimbabwe</option>
</select>
</td></tr>
<tr><td>Postcode*</td><td><input type="textfield" name="postcode" class="bookingtext"/></td></tr>
<tr><td>Email*</td><td><input type="textfield" name="email" class="bookingtext"/></td></tr>
<tr><td>Fax</td><td><input type="textfield" name="fax" class="bookingtext"/></td></tr>
<tr><td>Telephone*</td><td><input type="textfield" name="telephone" class="bookingtext"/></td></tr>
<tr><td>Mobile</td><td><input type="textfield" name="mobile" class="bookingtext"/></td></tr>
</table>
</div>
<div class="bookingdata">
<table class="bookingtable">
<tr><td>Adults</td><td><select name="adults" class="bookingdropdown"/><option value="1">1</option><option value="2" SELECTED>2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option></select></td></tr>
<tr><td>Children</td><td><select name="children" class="bookingdropdown"/><option value="0" SELECTED>0</option><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option></select></td></tr>
<tr><td>Room*</td><td>
<select name="Room" class="bookingtext">
<option value="">Room...</option>
<option value="Praia de Buzios">Praia de Buzios</option>
<option value="Pirangi">Pirangi</option>
<option value="Praia do Amor">Praia do Amor</option>
<option value="Praia de Ponta Negra">Praia de Ponta Negra</option>
<option value="Baia dos Golfinhos">Baia dos Golfinos</option>
<option value="Praia de Genipabu`">Praia de Genipabu`</option>
<option value="Praia do Meio">Praia do Meio</option>
</select>
</td></tr>
<tr><td>Disabled Access Required</td><td><input type="checkbox" name="disabled" value="1"/></td></tr>
<tr><td>Check in Date:</td><td><script language=javascript>DateInput('startdate', true, 'YYYY-MM-DD','<?php echo $currentdate?>')</script></td></tr>
<tr><td>Check out Date:</td><td><script language=javascript>DateInput('enddate', true, 'YYYY-MM-DD','<?php echo $currentdate?>')</script></td></tr>
<tr><td>Notes:</td><td><textarea name="notes" class="bookingnotes"></textarea></td></tr>
<input type="hidden" name="ref" value="www"/>
</table>
</div>
<input type="submit" value="Book Now" class="bookroombutton"/>
<br/><br/>
</div>
</form>
<script type="text/javascript">
function checkBooking() {
if (document.enquiry["mobile"].value == "" && document.enquiry["telephone"].value == "") {
document.enquiry["telephone"].focus();
alert("Either telephone or mobile phone number is required.");
return false;
}
if (document.enquiry["firstname"].value == "") { document.enquiry["firstname"].focus();alert("First name is required."); return false; }
if (document.enquiry["surname"].value == "") { document.enquiry["surname"].focus();alert("Surname is required."); return false; }
if (document.enquiry["address"].value == "") { document.enquiry["address"].focus();alert("Address is required."); return false; }
if (document.enquiry["city"].value == "") { document.enquiry["city"].focus();alert("City is required."); return false; }
if (document.enquiry["country"].value == "") { document.enquiry["country"].focus();alert("Country is required."); return false; }
if (document.enquiry["postcode"].value == "") { document.enquiry["postcode"].focus();alert("Postcode is required."); return false; }
if (document.enquiry["startdate"].value == document.enquiry["enddate"].value) { alert("Check in date cannot be the same as check out date."); return false; }
if (document.enquiry["startdate"].value > document.enquiry["enddate"].value) { alert("Check out date must be after the check in date."); return false; }
return true;
}
</script>
<?php
}else{
// form submitted - check availability
if (isset($_POST['disabled'])){
$POST_disabled=1;
}else{
$POST_disabled=0;
}
if (CheckAvailability(cleanup($_POST['adults']),cleanup($_POST['children']),$POST_disabled,cleanup($_POST['startdate']),cleanup($_POST['enddate']))){
session_start();
if (!isset($_SESSION['madebooking'])){
AddBooking();
$_SESSION['madebooking']=true;
}
?>
<script type="text/javascript">alert("Thankyou for your booking. We will contact you soon to confirm and arrange any deposit required.")</script>
<link rel="stylesheet" type="text/css" href="css/bookingform.css">
<div align=center><div class="customerdata">
<table class="bookingtable"><tr><td align=center>Thank you for your reservation. <a href="<?php echo $returnwebsite ?>">Click here</a> to return to our website</td></tr></table>
</div></div>
<?php
}else{
?>
<script type="text/javascript">alert("Sorry - room not available for your selected checkin/checkout dates. Please phone us if you wish to discuss further, or select and different checkin/checkout")</script>
<link rel="stylesheet" type="text/css" href="css/bookingform.css">
<div align=center><div class="customerdata">
<table class="bookingtable"><tr><td align=center><a href="index.php">Click here</a> to return to the booking form or <a href="<?php echo $returnwebsite ?>">click here</a> to return to our website.</td></tr></table>
</div></div>
<?php
}
}
function CheckAvailability($adults,$children,$disabled,$che ckin,$checkout){
// get availability info from file into arrays
$availability=file_get_contents('availability/data.php');
$rooms=explode("|",$availability);
for ($i = 0; $i < count($rooms); $i++) {
// loop through each room that fits ( adults,children )
$roomdata=explode(":",$rooms[$i]);
$roomdetails=explode(",",$roomdata[1]);
$roomavailability=$roomdata[2];
// make sure the room can hold the booking
if ($roomdetails[0]>=$adults AND $roomdetails[1]>=$children){
$available=true;
if ($disabled=="0" OR ($disabled=="1" AND $roomdetails[2]=="1")){
// room can hold booking
// loop through all days in hotel and make sure the rooms always available
$currentdatedata=explode("-",$checkin);
$currentyear=intval($currentdatedata[0]);
$currentmonth=intval($currentdatedata[1]);
$currentday=intval($currentdatedata[2]);
$checkoutdata=explode("-",$checkout);
$loopval=100;
$endofvisit=false;
$checkoutyear=intval($checkoutdata[0]);
$checkoutmonth=intval($checkoutdata[1]);
$checkoutday=intval($checkoutdata[2]);
for ($y = 0; $y < $loopval; $y++) {
if ($currentday==$checkoutday AND $currentmonth==$checkoutmonth AND $currentyear==$checkoutyear){
$y=100;
}
if (!CurrentDayCheck($currentyear."-".$currentmonth."-".$currentday,$roomavailability)){
$available=false;
}
$currentday=$currentday+1;
if ($currentday>daysinmonth($currentmonth)){
$currentmonth=$currentmonth+1;
$currentday=1;
}
if ($currentmonth>12){
$currentyear=$currentyear+1;
$currentmonth=1;
}
}
}
}
}
//return $available;
return $available;
}
function daysinmonth($month){
$month_lengths = array (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
return $month_lengths[$month-1];
}
Function CurrentDayCheck($currentdate,$RoomAvailability){
$currentyear=Date("Y");
$currentdatedata=explode("-",$currentdate);
if ($currentdatedata[0]=$currentyear){
$monthoffset=0;
}else{
$monthoffset=12;
}
$roomavailabilitymonthdata=explode("-",$RoomAvailability);
$daydata=explode(",",$roomavailabilitymonthdata[(intval($currentdatedata[1])+$monthoffset)-1]);
if ($daydata[$currentdatedata[2]-1]=="1"){
return true;
}else{
return false;
}
}
function AddBooking(){
$POST_firstname=cleanup($_POST['firstname']);
$POST_surname=cleanup($_POST['surname']);
$POST_address=cleanup($_POST['address']);
$POST_City=cleanup($_POST['city']);
$POST_country=cleanup($_POST['country']);
$POST_postcode=cleanup($_POST['postcode']);
$POST_email=cleanup($_POST['email']);
$POST_fax=cleanup($_POST['fax']);
$POST_telephone=cleanup($_POST['telephone']);
$POST_mobile=cleanup($_POST['mobile']);
$POST_adults=cleanup($_POST['adults']);
$POST_children=cleanup($_POST['children']);
if (isset($_POST['disabled'])){
$POST_disabled=1;
}else{
$POST_disabled=0;
}
$POST_startdate=cleanup($_POST['startdate']);
$POST_enddate=cleanup($_POST['enddate']);
$POST_notes=cleanup($_POST['notes']);
$fileaddstring=$POST_firstname.",".$POST_surname." ,".$POST_address.",".$POST_city.",".$POST_country. ",".$POST_postcode.",".$POST_email.",".$POST_fax." ,".$POST_telephone.",".$POST_mobile."~0,".$POST_ad ults.",".$POST_children.",".$POST_disabled.",".$PO ST_startdate.",".$POST_enddate.",".$POST_notes.",i nternet|";
$file = 'availability/bookings.php';
$fh = fopen($file, "a");
$file_contents = $fileaddstring;
fwrite($fh, $file_contents);
fclose($fh);
}
function cleanup($term){
$term=str_replace("'","",$term);
$term=str_replace(",","",$term);
$term=str_replace("|","",$term);
$term=str_replace("+","",$term);
$term=str_replace('"',"",$term);
return $term;
}
?>