asp.net programcısı olduğumdan php'yi hiç bilmiyorum. Fakat mantık olarak tarif edebilirim.
Bir rezervasyon formunu düzenlemem gerekti. Sadece captcha kodu ekleyip kod doğru ise formu mail göndermesini istiyorum. Session ve if else ile yapılması gerekiyor sanırım. Fakat googledaki kodlar ile pek bir şey yapamadım. Kodlarımı aşağıda paylaşıyorum. Yardımcı olursanız sevinirim.
rezervasyon.php
<?php
session_start();
if (!isset($_POST['secure'])){
$_SESSION['secure'] = rand(1000,9999);
} else {
if ($_SESSION['secure']==$_POST['secure']){
function check_email($email)
{
if (ereg("[A-Za-z0-9_-]+\@[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+", $email)) {
return true;
}
else {
return false;
}
}
}
}
?>
<tr>
<td><form name="form1" id="form1" method="post" action="send.php">
<table width="655" border="0" align="center">
<tr>
<td width="156" class="style14"><div align="left" class="style58 style27">Name / Surname:</div></td>
<td width="234" align="left" class="style28"><label for="textfield"></label>
<div align="left">
<input name="name" type="text" id="name" size="30" />
</div></td>
<td width="52" class="style14"><div align="left" class="style58 style27">Phone:</div></td>
<td width="195" class="style28"><label for="label"></label>
<div align="left">
<input name="phone" type="text" id="label" size="30" />
</div></td>
</tr>
<tr>
<td class="style14"><div align="left" class="style58 style27">Fax:</div></td>
<td align="left" class="style28"><label for="label2"></label>
<div align="left">
<input name="fax" type="text" id="label2" size="30" />
</div></td>
<td class="style14"><div align="left" class="style58 style27">Email:</div></td>
<td class="style28"><label for="label3"></label>
<div align="left">
<input name="email" type="text" id="label3" size="30" />
</div></td>
</tr>
<tr>
<td class="style14"><div align="left" class="style58 style27">Room Types:</div></td>
<td align="left" class="style28"><label for="label4"></label>
</div></td>
<td class="style14"><div align="left" class="style58 style27">Total Rooms:</div></td>
<td class="style28"><label for="label4"></label>
<div align="left">
<select name="room" class="style29" id="label4">
<option selected="selected">1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>8</option>
<option>10</option>
</select>
</div></td>
</tr>
<tr>
<td class="style14"><div align="left" class="style58 style27">Arrival Date:</div></td>
<td align="left" class="style34"><div align="left" class="style58 style27">
<select name="arrivalday" class="style29" id="arrivalday">
<option selected="selected">1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
<option>11</option>
<option>12</option>
<option>13</option>
<option>14</option>
<option>15</option>
<option>16</option>
<option>17</option>
<option>18</option>
<option>19</option>
<option>20</option>
<option>21</option>
<option>22</option>
<option>23</option>
<option>24</option>
<option>25</option>
<option>26</option>
<option>27</option>
<option>28</option>
<option>29</option>
<option>30</option>
<option>31</option>
</select>
<select name="arrivalmonth" size="1" class="style29" id="arrivalmonth">
<option>January</option>
<option>February</option>
<option>March</option>
<option>April</option>
<option>May</option>
<option>June</option>
<option>July</option>
<option>August</option>
<option selected="selected">September</option>
<option>October</option>
<option>November</option>
<option>Decemer</option>
</select>
<select name="arrivalyear" size="1" class="style29" id="arrivalyear">
<option>2014</option>
<option>2015</option>
<option>2016</option>
<option>2017</option>
</select>
</div></td>
<td class="style14"><div align="left" class="style58 style27">Country:</div></td>
<td class="style34"><div align="left" class="style411 style27">
<select
name="country" class="style29" id="country" >
<option>Please Select Your Country</option>
<option>Afghanistan </option>
<option>Albania </option>
<option>Algeria </option>
<option>American Samoa </option>
<option>Andorra </option>
<option>Angola </option>
<option>Anguilla </option>
<option>Antigua </option>
<option>Argentina </option>
<option>Armenia </option>
<option>Australia </option>
<option>Austria </option>
<option>Azerbaijan </option>
<option>Bahamas </option>
<option>Bahrain </option>
<option>Bangladesh </option>
<option>Barbados </option>
<option>Belarus </option>
<option>Belgium </option>
<option>Belize </option>
<option>Benin </option>
<option>Bermuda </option>
<option>Bhutan </option>
<option>Bolivia </option>
<option>Botswana </option>
<option>Brazil </option>
<option>Bulgaria </option>
<option>Burkina Faso </option>
<option>Burma </option>
<option>Burnei </option>
<option>Burundi </option>
<option>Cambodia </option>
<option>Cameroon </option>
<option>Canada </option>
<option>Canary Islands </option>
<option>Cape Verde </option>
<option>Cayman Islands </option>
<option>Chad </option>
<option>Chile </option>
<option>China, Peop. Rep of </option>
<option>Colombia </option>
<option>Comoros </option>
<option>Congo, Peop Rep of </option>
<option>Cook Islands </option>
<option>Costa Rica </option>
<option>Croatia </option>
<option>Cyprus </option>
<option>Czech Republic </option>
<option>Denmark </option>
<option>Djibouti </option>
<option>Dominica </option>
<option>Dominican Republic </option>
<option>Ecuador </option>
<option>Egypt </option>
<option>El Salvador </option>
<option>Equatorial Guinea </option>
<option>Estonia </option>
<option>Ethiopia </option>
<option>Faeroe Islands </option>
<option>Falkland Islands </option>
<option>Fiji </option>
<option>Finland </option>
<option>France </option>
<option>French Guiana </option>
<option>French Polynesia </option>
<option>Gabon </option>
<option>Gambia </option>
<option>Georgia </option>
<option>Germany </option>
<option>Ghana </option>
<option>Gibraltar </option>
<option>Greece </option>
<option>Greenland </option>
<option>Guadeloupe </option>
<option>Guam </option>
<option>Guatemala </option>
<option>Guernsey Isle </option>
<option>Guinea </option>
<option>Guinea-Bissau </option>
<option>Guyana </option>
<option>Haiti </option>
<option>Holland </option>
<option>Honduras </option>
<option>Hong Kong </option>
<option>Hungary </option>
<option>Iceland </option>
<option>India </option>
<option>Indonesia </option>
<option>Ireland </option>
<option>Ireland, Rep of </option>
<option>Israel </option>
<option>Italy </option>
<option>Ivory Coast </option>
<option>Jamaica </option>
<option>Japan </option>
<option>Kampuchea (Cambodia) </option>
<option>Kazakhstan </option>
<option>Kenya </option>
<option>Kiribati </option>
<option>Korea, Rep of </option>
<option>Kuwait </option>
<option>Kyrgyzstan </option>
<option>La Reunion </option>
<option>Laos </option>
<option>Latvia </option>
<option>Lebanon </option>
<option>Lesotho </option>
<option>Liberia </option>
<option>Liechtenstein </option>
<option>Lithuania </option>
<option>Luxembourg </option>
<option>Macao </option>
<option>Macedonia </option>
<option>Madagascar </option>
<option>Malawi </option>
<option>Malaysia </option>
<option>Maldives </option>
<option>Mali </option>
<option>Malta </option>
<option>Mauritania </option>
<option>Mauritius </option>
<option>Mayotte </option>
<option>Mexico </option>
<option>Micronesia </option>
<option>Monaco </option>
<option>Mongolia </option>
<option>Montenegro </option>
<option>Montserrat </option>
<option>Morocco </option>
<option>Mozambique </option>
<option>Muldovia </option>
<option>Namibia </option>
<option>Nauru </option>
<option>Nepal </option>
<option>Netherlands </option>
<option>Netherlands Ant. </option>
<option>New Caledonia </option>
<option>New Hebrides </option>
<option>New Zealand </option>
<option>Nicaragua </option>
<option>Niger </option>
<option>Nigeria </option>
<option>Norway </option>
<option>Oman </option>
<option>Pakistan </option>
<option>Panama </option>
<option>Papua New Guinea </option>
<option>Paraguay </option>
<option>Peru </option>
<option>Philippines </option>
<option>Poland </option>
<option>Portugal </option>
<option>Puerto Rico </option>
<option>Qatar </option>
<option>Romania </option>
<option>Russia </option>
<option>Rwanda </option>
<option>Samoa </option>
<option>San Marino </option>
<option>Sao Tome & Principe </option>
<option>Saudi Arabia </option>
<option>Scotland, UK </option>
<option>Senegal </option>
<option>Serbia </option>
<option>Seychelles </option>
<option>Sierra Leone </option>
<option>Singapore </option>
<option>Slovak Republic </option>
<option>Slovenia </option>
<option>Solomon Islands </option>
<option>Somalia </option>
<option>South Africa </option>
<option>Spain </option>
<option>Sri Lanka </option>
<option>St. Helena </option>
<option>St. Kitts - Nevis </option>
<option>St. Lucia </option>
<option>St. Pierre & Miquelo </option>
<option>St. Vincent </option>
<option>Suriname </option>
<option>Swaziland </option>
<option>Sweden </option>
<option>Switzerland </option>
<option>Taiwan </option>
<option>Tajikstan </option>
<option>Tanzania </option>
<option>Thailand </option>
<option>Togo </option>
<option>Tonga </option>
<option>Trinidad and Tobago </option>
<option>Tunisia </option>
<option>Turkey </option>
<option>Turkmenistan </option>
<option>Turks and Caicos </option>
<option>Uganda </option>
<option>Ukraine </option>
<option>United Arab Emirates </option>
<option>United Kingdom </option>
<option>Uruguay </option>
<option>USA </option>
<option>Uzbekistan </option>
<option>Vanuatu </option>
<option>Vatican City State </option>
<option>Venezuela </option>
<option>Vietnam </option>
<option>Virgin Islands (Br.) </option>
<option>Wallis & Fortuna Is. </option>
<option>Yemen, Peop. Rep. of </option>
<option>Zaire </option>
<option>Zambia </option>
<option>Zimbabwe </option>
</select>
</div></td>
</tr>
<tr>
<td class="style14"><div align="left" class="style58 style27">Departure Date:</div></td>
<td align="left" class="style34"><div align="left" class="style58 style27">
<select name="departureday" class="style29" id="departureday">
<option>1</option>
<option selected="selected">2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
<option>11</option>
<option>12</option>
<option>13</option>
<option>14</option>
<option>15</option>
<option>16</option>
<option>17</option>
<option>18</option>
<option>19</option>
<option>20</option>
<option>21</option>
<option>22</option>
<option>23</option>
<option>24</option>
<option>25</option>
<option>26</option>
<option>27</option>
<option>28</option>
<option>29</option>
<option>30</option>
<option>31</option>
</select>
<select name="departuremonth" size="1" class="style29" id="departuremonth">
<option>January</option>
<option>February</option>
<option>March</option>
<option>April</option>
<option>May</option>
<option>June</option>
<option>July</option>
<option>August</option>
<option selected="selected">September</option>
<option>October</option>
<option>November</option>
<option>Decemer</option>
</select>
<select name="departureyear" size="1" class="style29" id="departureyear">
<option>2014</option>
<option>2015</option>
<option>2016</option>
<option>2017</option>
</select>
</div></td>
<td rowspan="2" class="style14"><div align="left" class="style58 style27">Note:</div></td>
<td rowspan="2" class="style34"><span class="style27">
<textarea name="note" cols="25" rows="3" id="note"></textarea>
</span></td>
</tr>
<tr>
<td class="style14"><div align="left" class="style60 style27">Pax:</div></td>
<td align="left" class="style34"><span class="style60 style27">
<select name="pax" class="style34" id="room">
<option selected="selected">1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>8</option>
<option>10</option>
</select>
</span></td>
</tr>
<tr>
<td colspan="2" class="style34"><div align="left" class="style58 style27">
<p class="style30">This request form is for illustrative purposes only. Thank you for choosing Selenay Hotel. Your request will be answered as soon as possible.</p>
</div></td>
<td colspan="2" class="style28"><div align="right">
<p><img src="capt.php"><input type="text" size="6" name="secure"></p>
<p>
<input type="reset" name="Reset" value="Reset Form" id="Submit" />
<input type="submit" name="Submit2" value="Send Form" id="label5" />
</p>
</div>
</label></td>
</tr>
</table>
</form>
</td>
</tr>send.php<?PHP
#----------
# Validate: Email
function check_email($email)
{
if (ereg("[A-Za-z0-9_-]+\@[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+", $email)) {
return true;
}
else {
return false;
}
}
$VALID_ENV = array('HTTP_REFERER','REMOTE_HOST','REMOTE_ADDR','REMOTE_USER',
'HTTP_USER_AGENT');
$name = $_POST['name'];
$email = $_POST['email'];
$fax = $_POST['fax'];
$roomtypes =$_POST['roomtypes'];
$room = $_POST['room'];
$arrivalday = $_POST['arrivalday'];
$arrivalmonth = $_POST['arrivalmonth'];
$arrivalyear = $_POST['arrivalyear'];
$departureday = $_POST['departureday'];
$departuremonth = $_POST['departuremonth'];
$departureyear = $_POST['departureyear'];
$note = $_POST['note'];
# Field Validations
$validationfailed = false;
if ( (! check_email($email))) {
$validationfailed = true;
}
# Redirect user to FAIL page
if ($validationfailed == true) {
header("Location: error.html");
exit;
}
# Email Body
$email_header = "From: $email\n"
. "Reply-To: $email\n";
$email_body = "Name.............: $name\n"
. "E_mail...............: $email\n"
. "Fax..................: $fax\n"
. "Arrival..............: $arrivalday,$arrivalmonth,$arrivalyear\n"
. "Check out Day........: $departureday,$departuremonth,$departureyear\n"
. "Room Total...........: $room\n"
. "Room Types...........: $roomtypes\n"
. "Message..............: $note\n"
. "\n"
. "";
# Send the email to the form owner
mail("info@hotelselenay.com", "Selanay Hotel Reservation From", $email_body, "$email_header");
# Dump field values to text file
# Redirect user to OK page
header("Location: thanks.html");
exit;
# End of PHP script
?>