Page 31 - 4636
P. 31
Показаний вище HTML-код додав нову змінну форми, значенням якої буде ' а', ' b', ' c' або 'd'.
Рисунок 1.6 - Тепер форма замовлення задає відвідувачам питання, за чиєю рекомендацією
вони звернулися за товаром в компанію “Автозапчастини від Вована”
Цю нову змінну можна було б обробити за допомогою послідовності операторів if і elseif:
if ($find == "а") { echo "<р>Постійний клієнт.</р>";
} elseif ($find == "b") { echo "<р>Клієнт, який звернувся після
телевізійної реклами.</р>";
} elseif ($find=="c") {echo "<р>Клієнт, який звернувся за телефонним
довідником.</р>";
} elseif ($find == "d") { echo "<р>Клієнт, який звернувся за чиєюсь
усній рекомендації.</р>";
} else {
echo "<р>Незрозуміло, як цей клієнт знайшов нас.</р>";
}
Як альтернативою можна скористатися оператором switch:
switch ($find) {
case "a" : echo "<р>Постійний клієнт.</p>";
break;
case "b" :
echo "<р>Клієнт, який звернувся після телевізійної реклами.</р>";
break;
case "з" :
echo "<р>Клієнт, звернувся за телефонним довідником,</р>";
break;
case "d" :
echo "<р>Клієнт, який звернувся за чиєюсь усній рекомендації.</р>";
break;
default :
echo ”<р>Незрозуміло, як цей клієнт знайшов нас.</р>";
break;
}
(В останніх двох прикладах передбачається, що змінну $find вже отримано з масиву $_ POST.)
Оператор switch веде себе трохи інакше, ніж оператор if або elseif. Оператор if вибирає на
виконання тільки один оператор, якщо спеціально не використовуються фігурні дужки для створення
блока операторів. Оператор switch діє за іншим принципом Коли оператор case в рамках оператора
switch активізується, РНР виконує наступні за ним оператори, один за одним, до того часу, поки не
зіткнеться з оператором break. Без нього оператор switch виконував би весь код, наступний за
28