ВСЕ СТАТЬИ
Блог начинающего программиста
Регистрация

Дата и время

Опубликовано:

Оператор switch вычисляет значение заданного выражения и сравнивает его с предложенными вариантами. В случае совпадения выполняется соответствующий блок кода.

В следующих примерах решения задач рассматривается применение этого оператора с использованием функции date для вывода даты.

Условие 2-й задачи:

Создайте форму с тремя выпадающими списками: «число», «месяц» и «год». «Число» от 1-го до 31-го, «месяц» от «Январь» до «Декабрь» и «год» от 1990 до текущего года. По умолчанию должна быть выбрана текущая дата. А если пользователь уже вводил какие-то данные (т.е. отправлял уже форму), то должны стоять те данные, которые ввёл он. Примите данные из формы и проверьте их на корректность (чтобы не было, например 30-го февраля). Если данные корректны, то выведите количество секунд, прошедших с полуночи 1.1.1970, а также дату в формате ММ-ДД- ГГГГ, а если некорректны, то выведите сообщение об ошибке.

Примечание: В 1-м пункте все 3 выпадающих списка должны быть созданы с использованием циклов. А чтобы узнать текущий год, воспользуйтесь функцией date(). Также используйте эту функцию, чтобы узнать текущий месяц и число.

Решение задачи:


<?php
if (isset($_POST[d]) &&  isset($_POST[m]) && isset($_POST[y]) )
    {
        $d = $_POST[d];
        $m = $_POST[m];
        $y = $_POST[y];
        switch ($m)
        {   
            case январь: $m = "01"; break;        
            case февраль: $m = "02"; break;            
            case март: $m = "03"; break;
            case апрель: $m = "04"; break;            
            case май:    $m = "05";    break;        
            case июнь:    $m = "06";    break;        
            case июль:    $m = "07";    break;        
            case август:    $m = "08";    break;        
            case сентябрь:    $m = "09";    break;
            case октябрь:    $m = "10";    break;        
            case ноябрь:    $m = "11";    break;        
            case декабрь:    $m = "12";    break;   
                  
            default:
            echo 'Правильно выберите название месяца года';
        }
    }
    else
    {
        $d = date ("d");
        $m = date ("m");
        $y = date ("Y");
    }
    
    $start = mktime (0, 0, 0, $m, $d, $y);
    if (checkdate ($m, $d, $y) === true)
    {
        echo ('Выбрана дата: ' . "$m-" . "$d-" . "$y. ");
        echo "Количество секунд, прошедших с полуночи 01.01.1970 года: " . ($start);
        echo "<br />";
    }
     
    else
        echo "Ошибка! Введите правильную дату.";

Файл index.php:


    <html>
<head>
</head>
<body>
<form action="index.php" method="post">
  <p>число:
    <select name="d">
      <?php
                if (isset($_POST[d]))
                    echo "<option>$d<option>";
      else
      {
      echo "<option>";
      echo date ("d");
      echo "<option>";
      }
      for ($i = 1; $i < 32; $i++)
      {
      if ($i < 10)
      $i = "0" . $i;
      echo "<option>$i <br /></option>";
      }
      ?>
    </select>
    месяц:
    <select name="m">
      <?php
                if (isset($_POST[m]))
                {
                    $m = ($_POST[m]);
                    echo "<option>$m<option>";
      }
      else
      {
      echo "<option>";
      $month = date ("m");
      switch ($month)
      {      
      case 01: $month = "январь"; break;
      case 02: $month = "февраль"; break;
      case 03: $month = "март"; break;
      case 04: $month = 'апрель'; break;
      case 05: $month = "май";    break;
      case 06: $month = "июнь";    break;
      case 07: $month = "июль";    break;
      case 08: $month = "август";    break;
      case 09: $month = "сентябрь";    break;
      case 10: $month = "октябрь";    break;
      case 11: $month = "ноябрь";    break;
      case 12: $month = "декабрь";    break;
              
      }
      echo $month;
      echo "<option>";
      }
      $m = array (1 => январь, 2 => февраль, 3 =>март, 4 => апрель, 5 => май, 6 => июнь, 7 => июль, 8 => август, 9 => сентябрь, 10 => октябрь, 11 => ноябрь, 12 => декабрь);
      foreach ($m as $key => $value)
      {
      echo "<option>$value <br /></option>";
      }
      ?>
    </select>
    год:
    <select name="y">
      <?php
                
                if (isset($_POST[y]))
                    echo "<option>$y<option>";
      else
      {
      echo "<option>";
      echo date ("Y");
      echo "<option>";
                
      }
      for ($i = 1900; $i <= (date ("Y")); $i++)
      {
      echo "<option>$i <br /></option>";
      }
      ?>
    </select>
  </p>
  <p>
    <input type="submit" value="Отправить">
  </p>
</form>
</body>
</html>

Комментарии

Пока комментарий нет

Оставить свой комментарий:

Зарегистрироваться
Имя:
Электронная почта:
Текст комментария:
Введите код с картинки:
картинка