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

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

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

    rulez22 Гость

    Репутация:
    0
    В 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"

    Код:
    <?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 Гость

    Репутация:
    0
    вопрос решен
     
Загрузка...
Похожие Темы - помогите девченке разобраться
  1. bronnn
    Ответов:
    0
    Просмотров:
    83
  2. BANAN228
    Ответов:
    4
    Просмотров:
    109
  3. VPN
    Ответов:
    13
    Просмотров:
    282
  4. Sproot
    Ответов:
    0
    Просмотров:
    145
  5. Sa1nt
    Ответов:
    3
    Просмотров:
    193
Статус темы:
Закрыта.

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