помогите девченке разобраться в коде

Тема в разделе "PHP программирование", создана пользователем rulez22, 9 апр 2007.

Статус темы:
Закрыта.
  1. rulez22

    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"

    Код (Text):
    <?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

    ?>
     
  2. rulez22

    rulez22 Гость

    вопрос решен
     
Загрузка...
Похожие Темы - помогите девченке разобраться
  1. limbra
    Ответов:
    3
    Просмотров:
    44
  2. NylevoiChelovek
    Ответов:
    4
    Просмотров:
    98
  3. Ruska132
    Ответов:
    34
    Просмотров:
    264
  4. gURaBA_N
    Ответов:
    7
    Просмотров:
    146
  5. uxbmw3w
    Ответов:
    0
    Просмотров:
    62
Статус темы:
Закрыта.

Поделиться этой страницей