Обробка GET-запиту в PHP
Коли ми створювали клієнтську частину проекту на Java, то говорили про поняття GET-запиту. Саме за допомогою GET-запиту ми надсилали дані на серверну частину PHP. У такому вигляді ми надсилали GET-запит із Java:
// Формуємо GET-запит для надсилання
String str = "http://puh/tovar.php"+makeGet();
Сторінку zboží.php ми вже додали до нашого проекту, давайте перейдемо на неї та запишемо теги для написання PHP-коду (див. рис. 5.23):
Весь подальший програмний код на поточному занятті ми будемо вводити у файлі нашого проекту tovar.php!
Додамо один рядок PHP-коду:

Все працює нормально, українські букви відображаються правильно!
Зверніть увагу, що цього разу ми вказали не тільки назву сайту puh, але й ім'я конкретної сторінки - http://puh/tovar.php . Для запуску будь-якої сторінки, крім index.php, потрібно вказувати явно ім'я сторінки!
Надалі, як і зазвичай, не закриватимемо вікно браузера, а натискатимемо клавішу F5 для оновлення результату.
Для обробки параметрів, переданих через GET-запит PHP, існує спеціальний масив - $_GET.
Згадаймо. Назва будь-якої змінної, у тому числі і масиву, в PHP починається з символу долара ($)!
Щоб отримати значення параметра GET-запиту на ім'я достатньо в квадратних дужках масиву вказати ім'я параметра в лапках: $_GET["tov1"].
Змінимо наш PHP-код на наступний:

При відкритті PHP-сторінки, її програмний код, записаний усередині тегів, починає виконуватися як звичайна програма!
Нагадаємо, що мова програмування PHP має такий самий синтаксис, як і Java. Однак, між ними є певні відмінності. Деякі з них ми розглянули на першому занятті.
Розглянемо ще одневідмінність – додавання рядків (конкатенація) позначається в PHP символом крапка (.). У Java для цього застосовується символ плюс (+). Нижче наведено приклади складання рядків у Java та PHP:
//Складання рядків у PHP
//Складання рядків у Java
String str = "Hello!" + "Java";
З клієнтів нам передається GET-запит. Перш ніж обробити ці дані, необхідно перевірити його формат і переконатися, що є параметри з назвою "tov.." та наявністю хоча б одного значення, відмінного від нуля. Коли передаються всі нульові значення - нам не потрібно обробляти такий запит!
Видалимо наш перевірочний рядок:
А замість неї запишемо код PHP для перевірки:
поверне значення true, якщо масив $_GET містить дані, тобто. є параметри GET-запиту.
Змінною flag спочатку присвоюється значення falseі змінюється на true, якщо знайдено хоча б один параметр у GET-запиті з назвою на tov і значенням відмінним від нуля. І тут ми виводимо перевірочну фразу: " Формат правильний " .
Цикл for виконує десять кроків, значення змінної $iзмінюється від 1 до 10, т.к. це з тим, що наші параметри мають імена: tov1, tov2, … , tov10.
Змінна $tmpна кожному кроці циклу прийматиме значення: tov1, tov2, … , tov10 в результаті складання рядків. Далі значення змінної $tmp буде підставлятися у конструкцію if ($_GET[$tmp]). Це дорівнює запису: $_GET["tov1"],…, $_GET["tov10"]. Конструкція:if ($_GET[$tmp]) поверне значення true у тому випадку, якщо параметр з таким ім'ям дійсно є в GET-запиті і має ненульове значення.
Якщо знаходимо хоча б одне таке значення - змінюємо значення змінної - flag, і перериваємо цикл.
http://puh/tovar.php?name=Вася&famil=Петрів
Натисніть клавішу Enter на сторінцінічого не з'явилося (див. рис.5.18):

Це означає, що цей GET-запит не пройшов перевірку! І це правильно, тому що цей GET-запит містить зовсім інші параметри: name і famil.
Натискаємо Enter і бачимо, що на сторінці з'явилося повідомлення: Формат вірний! Наша перевірка працює правильно.
Ми не перевіряємо кількість переданих параметрів, оскільки з клієнтської частини на Java ми завжди надсилаємо саме десять параметрів.
Вивчаючи мову програмування Java, знайомилися з поняттям методу класу. ВPHP теж можна створювати класи, але на відміну від Java, в PHP метод може бути поза класом, тобто. без класу. Такий метод називається функцією. Принцип роботи функції такий самий, як і у методу. При виклику функції виконується програмний код, розташований усередині фігурних дужок функції. Запис функції починається зі службового словафункції. Наприклад:
У цьому випадку ім'я функції: Func.
У верхній частині нашого коду додамо функцію, виведення повідомлення перенесемо в цю функцію та отримаємо наступне:
echo "Формат вірний!";
Увага. Підсвічування коду для PHP працює за тими ж принципами, як і Java! Комбінація клавіш викликає допоміжне вікно підсвічування програмного коду.
На місце, де було виведення повідомлення – вставимо виклик функції:
// Якщо формат GET-запиту виявився вірним
Тепер, у разі успішної перевірки викликається функція runMySQL(), а при її викликі виконується програмний код у її фігурних дужках.
Функція runMySQL() буде виконувати запис даних в базу MySQL і повертати відповідь клієнтської частини на Java у вигляді залишків товарів, у форматі:
Це і є дані, які ми отримували з Java, а потім виводили в таблицю, колонку залишків товарів. Виведення повідомлення проправильному форматі видалимо:
Це було тимчасове повідомлення на час перевірки.