R
rulez22
В php совсем слабо разбираюсь (не женское это дело видимо), ну да ладно. Пытаюсь сделать ограничение на неверно введенные даты, подскажите пожалуйста с примером кто может как ограничить ввод неверно введенных дат?
Делаю чтобы не было такого как ввод скажем 1 февраля checkin и 31 февраля checkout
Мой код ниже. Проблема такая - работает верно но 2 проблемы:
1) при первом открытии скрипта в браузере сразу отображается "Incorrect check-out dates"
2) даже после ошибки выдает количество ночей
"Incorrect check-out dates
Your booking is for a period of 30 nights"
Делаю чтобы не было такого как ввод скажем 1 февраля checkin и 31 февраля checkout
Мой код ниже. Проблема такая - работает верно но 2 проблемы:
1) при первом открытии скрипта в браузере сразу отображается "Incorrect check-out dates"
2) даже после ошибки выдает количество ночей
"Incorrect check-out dates
Your booking is for a period of 30 nights"
Код:
<?php
function getdates($start,$end)
{
$number = $start;
$menu .= "\n\n";
while ($number <= $end)
{
$menu .= "<option value=\"$number\">$number</option>\n";
$number++;
}//end while
return $menu;
}//end getdates
function getForm($monthMenu, $dayMenu, $yearMenu)
{
print "<form name=\"dateForm\" action=\"test.php\" method=\"POST\")";
echo "</br>";
echo "Check-in date: ";
echo '<select name = "startDay">';
print $dayMenu;
echo '</select>';
echo "/";
echo '<select name = "startMonth">';
print $monthMenu;
echo '</select>';
echo "/";
echo '<select name = "startYear">';
print $yearMenu;
echo '</select>';
echo '<br />';
echo "Check-out date: ";
echo '<select name = "endDay">';
print $dayMenu;
echo '</select>';
echo "/";
echo '<select name = "endMonth">';
print $monthMenu;
echo '</select>';
echo "/";
echo '<select name = "endYear">';
print $yearMenu;
echo '</select>';
echo '<br /><br /><input type="submit" name="submitDate" value="Submit">';
echo '</form>';
}// end getForm
if (!checkdate($_POST['endMonth'],$_POST['endDay'],$_POST['endYear'])) echo "Incorrect check-out dates<br />";
$dateDiff = gmmktime(0,0,0,$_POST[endMonth],$_POST[endDay],$_POST[endYear]) - gmmktime(0,0,0,$_POST[startMonth],$_POST[startDay],$_POST[startYear]);
if (isset($_POST[submitDate]))
{
echo 'Your booking is for a period of ' .( round($dateDiff/60/60/24)). ' nights';
}//end if
else
{
$startDay = '1';
$endDay = '31';
$startMonth = '1';
$endMonth = '12';
$startYear = '2007';
$endYear = '2015';
$dayMenu = $monthMenu = getdates($startDay, $endDay);
$monthMenu = getdates($startMonth, $endMonth);
$yearMenu = getdates($startYear, $endYear);
getForm( $monthMenu,$dayMenu, $yearMenu);
}//end else
?>