Просто про складне або вивчаємо PHP7! Частина 8. Умовний оператор switch

Привіт, шановні читачі сайту remontcompa.ru! Мене звати Роман нахватом і я представляю вашій увазі восьму частину з циклу статей по мові програмування PHP. У сьомій частині ми з вами познайомилися з умовним оператор if, а також з логічними операторами && ( "і") і || ( "Або"). У цій частині на конкретному прикладі розглянемо ще один умовний оператор під назвою switch. Конструкція умовного оператора switch така, що в якості вираження після слова switch в круглих дужках записується будь-яка змінна або вираз. Далі в фігурних дужках після слова case вказуються можливі значення змінної або виразу, вказаного в круглих дужках після слова switch. Якщо значення змінної (або виразу) збігається з будь-яким значенням, зазначеним після слова case, то виконується код, прописаний після знака:. Для того, щоб оператор switch завершував свою роботу після виявлення першого збігу значень, кожен код важливо завершувати ключовим словом break.


Просто про складне або вивчаємо PHP7! Частина 8. Умовний оператор switch


Створимо документ наступного змісту і збережемо його під ім'ям forma і розширенням .php на флеш накопичувачі в папці CSS

файл forma.php

За допомогою тегів

...

додамо в документ заголовок "Який з процесорів не підтримує технологію Hyper-Threading"

Після заголовка "Який з процесорів не підтримує технологію Hyper-Threading" пропишемо теги ...

Додамо в створювану форму на сторінці forma.php деякі елементи, використовуючи тег. У нашому випадку форма буде містити кілька перемикачів (для цього в якості значення для атрибута type тега вказуємо значення radio), атрибутам name і value вказуємо значення processor і i7-7820HQ відповідно (значення даних атрибутів знадобляться для роботи з оператором switch). Прописуємо наступний рядок:

процесор i7-7820HQ

Таким же чином додамо в форму ще кілька перемикачів, прописавши їм різні значення для атрибута value

Додамо в форму на сторінці forma.php кнопку відправки даних з форми, дописавши рядок

Підключимо до сторінці forma.php файл стилів forma.css, використовуючи який задамо колір тексту в створюваній формі

У тезі пропишемо атрибути action і method і задамо їм значення switch.php і POST відповідно. Атрибут action використовується для призначення php сценарію, який буде обробляти форму на веб сторінці. У нашому випадку форму на веб сторінці form.php буде обробляти сценарій в файлі switch.php. Атрибут method визначає, яким чином дані з форми будуть передаватися в php сценарій (в нашому випадку в файл switch.php). Існує два методи передачі даних з веб форми в php сценарій, POST (який буде використаний в даній статті), і GET. Детальніше кожен метод буде розглянуто в наступних частинах статей з мови PHP

Змінимо колір тексту в заголовку "Який з процесорів не підтримує технологію Hyper-Threading" і в формі на веб-сторінці form.php на синій, використовуючи CSS селектор класу. Пропишемо назва класу color, як показано нижче

У файлі стилів forma.css після селектора класу .color пропишемо такі CSS властивості: color: blue і font-weight: bold

Закачаємо файли forma.php і forma.css на хостинг (в нашому випадку це 000webhost)

тиснемо Відкрити

Файли forma.php і forma.css, закачані на хостинг

Перейменуємо файл forma.php в index.php

отримаємо наступне

У підсумку, якщо перейти на сайт за адресою https://gnomonic-lender.000webhostapp.com/, побачимо створену веб форму

Створимо файл switch.php, в основі якого лежатиме умовний оператор switch

У мові PHP існує спеціальний глобальний масив $ _POST (даний масив ми будемо розглядати більш детально в наступних частинах за мовою PHP). В даному масиві зберігаються дані, отримані з форми на веб сторінці і передані за допомогою методу POST. Масив $ _POST містить елементи з тими ж іменами, що і кожен з елементів форми на веб сторінці Оскільки кожному елементу з форми на веб сторінці призначено однакове ім'я (name = "processor"), масив $ _POST буде містити елемент з ім'ям processor

У файлі switch.php створимо змінну $ proc і призначимо їй значення $ _POST [ 'processor']

Зазначимо змінну $ proc в якості вираження для умовного оператора switch

Кожен елемент форми на веб сторінці forma.php має своє значення, вказане після атрибута value

Пропишемо значення, зазначені в кожному елементі форми на веб сторінці forma.php після атрибута value в умовному операторі switch, як показано нижче

Навпроти кожного значення через знак: пропишемо код, який буде виконуватися в разі, якщо значення змінної $ proc співпаде зі значенням, зазначеним після слова case. Наприклад, якщо значенням змінної $ proc буде i7-7820HQ, то у вікні веб-браузера буде виведений текст "Ваш відповідь неправильна, тому що обраний вами процесор підтримує технологію Hyper-Threading"

Підключимо до сторінці switch.php файл стилів forma.css, дописавши рядок echo "";

Усередині кожного тега

пропишемо ідентифікатори otv1 і otv2, як показано нижче

Використовуючи CSS селектори ідентифікаторів # otv1 і # otv2, задамо тексту заголовків властивості, як показано нижче

Видалимо з хостингу старий файл стилів forma.css і завантажимо змінений, також на хостинг завантажимо файл switch.php

Виділяємо файли forma.css і switch.php і тиснемо Відкрити

Upload

отримуємо наступне

Перейдемо на сайт за адресою https://gnomonic-lender.000webhostapp.com/ і в формі поставимо перемикач на варіанті відповіді Процесор i7-7820HQ і натиснемо Відповісти

Після того, як дані з форми на веб сторінці були передані для обробки файлу switch.php, у вікні веб браузера ми побачимо повідомлення "Ваш відповідь неправильна, тому що обраний вами процесор підтримує технологію Hyper-Threading", виділене червоним кольором


Виберемо інший варіант відповіді, наприклад Процесор i7-9700K і натиснемо кнопку Відповісти

У вікні веб браузера побачимо повідомлення "Ваш відповідь неправильна, тому що обраний вами процесор підтримує технологію Hyper-Threading", виділене зеленим кольором

Продовження в статті: Просто про складне або вивчаємо PHP7! Цикли for, while і do while