Веб-мастерская Ларисы ВоронинойУсловные операторы if, else, elseif. Примеры сценариев.
WEB-мастерская Ларисы Ворониной logo

Условные операторы if, else, elseif. Примеры сценариев. Ноя 16 2016


С помощью условных операторов if, else, elseif  можно составить логическую конструкцию и написать сценарий для чего угодно. Если мы переведём названия этих условных операторов, то сразу поймём о чём идёт речь.

If переводится как «если»,

Else переводится как «иначе»,

Логика конструкции условных операторов  проста, с такой логикой мы сталкиваемся в жизни каждый день.

Ну, к примеру, такое высказывание:

Если включить свет,
     То будет светло.
Иначе
Будет темно.

Слова "если" и "иначе" как раз и являются условными операторами.

В языке программирования то же самое, но условия и события мы устанавливаем сами, используя условные операторы, как творцы наших идей.

если (условие верно) {
происходит какое-то действие;
}
иначе, если условие не верно {
происходит другое действие;
}

Синтаксис  PHP  будет выглядеть следующим образом:

<?php
     if (условие верно) {
Выполняется некое действие;
}
     else {
Выполняется другое действие, если условие не верно;
}
?>

Ближе к практике.

Пишем сценарий для кнопки с помощью условных операторов.

В папке Open Server -> domains  создадим  папку и назовём её, к примеру, lesson3.local.

В редакторе создаём файл index.php( синтаксис выставляем PHP) и сохраняем его в папку lesson3.local.

И напишем простую HTML кнопку:

<!DOCTYPE html>
<html>
     <head>
          <meta charset="utf-8">
          <title>Конструкция if else</title>
     </head>
     <body>
          <form action="" method="POST">
          <button name="but" type="submit"> Кнопка </button>
          </form>
     </body>
</html>

Для атрибута method в теге form мы поставили значение POST. Это означает, что данные формы будут отправляться методом POST. Подробнее о методах передачи данных мы поговорим в следующих уроках. Что такое action тоже пока не заморачивайтесь.

Если мы откроем index.php через Open Server, то у нас появится  просто  кнопка, но пока не работающая.

Ну а теперь пишем сам сценарий.

Допустим, мы хотим, чтобы при нажатии на кнопку появлялась фраза «Вы нажали на кнопку».

Логически это будет выглядеть так:

Если (кнопка нажата){
Выводим фразу «Вы нажали на кнопку»;
}

Приблизим выражение к языку PHP, используя условные операторы:

<?php
     if (кнопка нажата) {
          Выводится фраза «Вы нажали на кнопку»;
}
?>

А теперь под HTML пишем сам код PHP:

<?php
     if (isset($_POST['but']));
          echo "Вы нажали на кнопку";
     }
?>

Если этот код перевести с языка PHP на русский, то это будет выглядеть вот так:

Если (установлен (метод  формы POST [кнопки с именем ‘but’])){
   Выводится фраза «Вы нажали на кнопку»;
}

А если совсем по-русски, то

Если данные формы были отправлены методом POST при нажатии на кнопку с именем but,
то пользователь увидит фразу «Вы нажали на кнопку».

Примерно так должен мыслить программист при написании сценария.

!!!Будьте внимательны, все кавычки и скобки должны быть закрыты.

Пишем сценарий для двух кнопок.

Сценарий будет такой:

Если мы нажимаем кнопку1,
То мы видим сообщение «Вы нажали кнопку1».
Или же, если мы нажали на кнопку2,
То мы увидим сообщение «Вы нажали на кнопку2».

 

<!DOCTYPE html>
<html>
     <head>
          <meta charset="utf-8">
          <title>Сценарий для двух кнопок</title>
     </head>
     <body>
          <form action="" method="POST">
          <button name="but1" type="submit"> Кнопка1 </button>
          <button name="but2" type="submit"> Кнопка2 </button>
          </form>
     </body>
</html>
<?php
     if (isset($_POST['but1'])){
          echo "Вы нажали на кнопку1";
     }
     elseif (isset($_POST['but2'])){
          echo "Вы нажали на кнопку2";
     }
?>

С кнопками я думаю вы разобрались. Так можно написать сценарии и для трёх кнопок и для 10-ти…

Пишем сценарий приветствия по имени.

Сценарий таков: пользователь вводит своё имя в окошко, и при нажатии на кнопку, появляется фраза приветствия.

Итак, сначала пишем HTML форму.

<!DOCTYPE html>
<html>
     <head>
          <meta charset="utf-8">
          <title>Конструкция if else</title>
     </head>
     <body>
          <form action="" method="POST">
          <p>Ваше имя <input type="text" name="name"></p>
          <p><input type="submit" name="submit" value="Отправить"></p>
          </form>
     </body>
</html>

Сначала мы должны создать переменную $name, в неё мы поместим имя, которое введёт пользователь.

$name=$_POST['name'];

А затем под формой HTML мы напишем уже знакомую нам конструкцию, используя условный оператор if:

<?php
$name=$_POST['name'];
if (isset($_POST['submit'])){
echo "Привет"." ".$name;
}
?>

Пишем простейший сценарий авторизации.

Допустим, у нас есть всего два пользователя: Вася и Петя. Остальных пользователей система не знает.

Если мы введём имя Вася,
то появится фраза «Привет Вася».
Или же, если мы введём имя Петя,
то появится фраза «Привет Петя».
Иначе, если мы ничего не введём, или введём другое имя,
то появится фраза «Привет гость».

 

<!DOCTYPE html>
<html>
     <head>
          <meta charset="utf-8">
          <title>Простая авторизация</title>
     </head>
     <body>
          <form action="" method="POST">
          <p>Ваше имя <input type="text" name="name"></p>
          <p><input type="submit" name="submit" value="Войти"></p>
          </form>
     </body>
</html>
<?php
     $name = $_POST['name'];
     if($name =="Вася"){
          echo "Привет"." ".$name;
}
     elseif ($name =="Петя"){
          echo "Привет"." ".$name;
}
     else {
          echo "Привет гость";
}
?>

Ну и напоследок, заодно вспомните предыдущий урок:

Сценарий приветствия в зависимости от времени суток.

<?php
     $hour = (int)strftime('%H');
     $welcome = ' ';// Инициализируем переменную для приветствия
     if($hour > 0 && $hour <= 6)
          $welcome = "Доброй ночи!";
     elseif ($hour > 6 && $hour <= 12)
          $welcome = "Доброе утро!";
     elseif ($hour > 12 && $hour <= 18)
          $welcome = "Добрый день!";
     elseif ($hour > 18 && $hour <= 23)
          $welcome = "Добрый вечер!";
     else $welcome = "Добрый вечер!";
     $header = "$welcome Добро пожаловать на наш сайт!";
?>
<!DOCTYPE html>
<html>
     <head>
          <meta charset="utf-8">
          <title>Время</title>
     </head>
     <body>
          <p><?php echo $header?></p>
     </body>
</html>

Таким образом, можно придумать множество сценариев, используя условные операторы if, else, elseif. Так что, потренируйтесь, советую вам набирать код руками, а не копировать его, так вы быстрее освоите язык PHP.