Розробка уроку — практичної роботи

Тема: введення і виведення даних, вікна повідомлень, їхнє використання, передавання значень між вікном повідомлення і змінними мовою PHP.

Мета: сформувати в учнів поняття про передачу даних між клієнтською програмою (браузер) та веб-сервером та опрацювання даних на веб-сервері мовою РНР.

Після виконання роботи учень:

Обладнання: ПК із встановленою ОС і браузером, веб-сервер з можливістю використання PHP або стійким сполученням з Інтернетом для використання online-компілятора PHP.

Структура уроку

  1. Організаційний момент
  2. Актуалізація опорних знань
  3. Вивчення нового матеріалу
  4. Інструктаж з ТБ
  5. Закріплення вивченого матеріалу
  6. Підбиття підсумків уроку
  7. Домашнє завдання

Хід уроку

1. Організаційний момент
Вітання з класом. Перевірка присутності і готовності учнів до уроку. Перевірка виконання домашнього завдання.

2. Актуалізація опорних знань

  1. Для чого призначено мову PHP?
  2. Що таке веб-сайт?
  3. Як браузер взаємодіє з веб-сервером?
  4. Для чого використовується мова html?
  5. Чим мова php відрізняється від html?

Використання HTML-форм для передачі даних на сервер

Формаце основний інструмент заповнення і передавання повідомлень від користувача до сервера.

Наприклад, при потребі встановити обліковий запис і пароль користувача для того, щоб визначити, на які сторінки сайту його можна допускати. Або необхідні особисті дані користувача, щоб була можливість з ним зв'язатися. Форми застосовуються саме для введення такої інформації. У формах можна вводити текст або вибирати потрібні варіанти зі списку. Дані, записані у форму, відправляють для опрацювання PHP скриптом на сервері. Залежно від введених користувачем даних ця програма може формувати різні веб-сторінки, відправляти запити до бази даних, запускати різні додатки тощо.

Контейнер FORM мови HTML використовують для створення форми. Всередині нього розташовують теги INPUT, TEXT, SELECT та інші, що описують елементи введення. За допомогою атрибутів action і method тегу FORM задаються назву програми, яка буде опрацьовувати дані форми на веб-сервері, і метод запиту відповідно. Тег INPUT визначає тип і різні характеристики запитуваної інформації. Надсилання даних форми відбувається після натискання кнопки input типу submit.

Елементи синтаксису PHP — правила використання розділових знаків:

Описова частина містить опис всього, що буде надалі використано у програмі.

PHP сам здатний визначати тип змінної, який він «дізнається» виходячи з даних, які зберігаються в змінній.

Цілі числа (тип int):

Дійсні числа (тип float) подають десятковим дробом з десятковою крапкою. Для них визначено такі самі операції, що для цілих.

Вказівка розгалуження (умовний оператор) if ... elif ... else
Cинтаксис: після службового слова if записують умову, далі можуть слідувати одна або більше необов'язкових частин elseif і наприкінці необов'язкова частина else. Загальна форма запису виглядає таким чином:

<?php
if (умова) { Блок виразів1 }
elseif     { Блок виразів2 }
else       { Блок виразів3 }
?> 

Логічні оператори

Вказівка:

if X:
     A = Y
else:
     A = Z

займає 4 рядки. Те саме можна записати одним рядком таким чином:

A = Y if X else Z

Цикл for має такий синтаксис:

for (
  вказівки ініціалізації;
  умова виконання циклу;
  вказівки після ітерації) { тело циклу;}

Цикл while виконує тіло циклу до тих пір, поки справджується умова циклу. Умова записують перед тілом циклу і встановлюють її істинність до виконання тіла циклу. Синтаксис у найпростішому випадку виглядає таким чином:

while умова {
  блок вказівок
  }

Щойно умова стане хибною, виконання циклу буде припинено, а керування буде передано наступній після тіла циклу вказівці.

Означення (оголошення) функції
Починають оголошення з ключового слова function. Потім записують назву функції, після чого у круглих дужках вказують список змінних-параметрів. Функції не тільки виконують певні перетворення, але й можуть повертати в програму результат цих перетворень. Для цього використовують ключове слово return — див. такий приклад.

<?php
function x_cube($x)
{ $x3=$x*$x*$x;
  return $x3;
}
?>

3. Вивчення нового матеріалу

Мотивація навчання: протягом уроку створимо форму для реєстрації на сайті школи з трьома основними полями для заповнення користувачем даними щодо імені, прізвища та адреси електронної пошти. Після введення цих даних користувач може натиснути кнопку Зареєструватись для того, щоб відправити дані форми на веб-сервер. У разі, якщо виявлено некоректність заповнення користувачу буде подано ту саму форма з текстом помилки та вже введеними ним даними. Інакше, користувач отримує повідомлення про успішну реєстрацію, а його дані буде збережено на сервері.

Для розуміння принципів роботи з файлами корисно ознайомитися з прикладом, який зчитує рядки файлу input.txt, розбиває їх на слова (за пробілом), виводить слова на веб-сторінку і записує слова у зворотному порядку у файл output.txt.

Охочі можуть самостійно переглянути вичерпні відомості про роботу з файлами й рядками.


Завдання 1. Переглянути сторінку та її код. Для перегляду коду вибрати з контексного меню «Переглянути код сторінки», «Переглянути джерело сторінки», «View page source» або натиснути клавіші Ctrl + U.

Форма містить три елементи INPUT типу TEXT для введення імені, прізвища та адреси електронної пошти та один тип SUBMIT для відправки даних на сервер. У коді використано тег FORM з програмою опрацювання введених даних phpforms.php та методом відправки даних POST (є ще один метод GET для цього).

Значення атрибуту Аction форми — це URL-адреса програми, яка повинна опрацьовувати дані форми.

Всі спеціальні символи, включаючи = і & , в назвах або значеннях цих параметрів у такій програмі буде закодовано. Тому не варто використовувати в назвах або значеннях елементів форми ці символи й літери кирилиці в ідентифікаторах. Для полів введення тексту значенням буде те, що введе користувач. Якщо користувач нічого не вводить у таке поле, то в рядку запиту буде присутній елемент name=, де name відповідає назві цього елемента форми.

Інформація, введена користувачем і відправлена серверу за допомогою методу POST, подається на стандартне введення або програми, зазначеної в атрибуті action, або поточного коду, якщо цей атрибут не вказано. Передати дані методом POST можна тільки за допомогою HTML-форми, бо дані передають у тілі запиту, а не в заголовку, як у GET. Відповідно змінити значення параметрів можна, лише змінивши значення, введене у форму. При використанні POST користувач не бачить чи передано серверу дані. При відправленні даних на сервер будь-яким методом передають не лише самі дані, введені користувачем, але й ряд змінних, які називають змінними середовища, що характеризують клієнта, історію його роботи, шляхи до файлів тощо.

Зазвичай, запити клієнта обробляють на сервері за допомогою спеціальної програми. Цю програму можна написати мовою PHP. Щоб це зробити, потрібно попередньо ознайомитися з правилами й інструментами, наявними для цього у мові PHP.

Опрацювання запитів за допомогою PHP
Є кілька способів отримання доступу до даних, переданим клієнтом згідно з протоколом HTTP. Доступ до таких даних здійснюють за назвами переданих змінних: дані передають у вигляді пар: «назва змінної, символ «=», значення змінної». Наприклад, після передавання «first_name=Микола» з'являється змінна $first_name зі значенням «Микола».

Використання у програмі назв переданих змінних безпосередньо може призвести до помилки. Тому бажано задіяти для звернення до змінних спеціальний масив — $_REQUEST. Цей масив містить дані, передані методами POST і GET.

Завдання 2. Розглянути код програми, яка виконує опрацювання даних, отриманих за допомогою форми, розглянутої при виконанні завдання 1.

Коментарі у тексті вигляду // #… вказують на відповідність пунктам такого алгоритму (замість трикрапки … — натуральне число від 1 до 11 включно):

  1. Перевірити коректність адреси електронної пошти за допомогшою функції, текст якої заппозичено з Інтернету.

  2. Вивести теги HTML для початку веб-сторінки.

  3. Ініціалізувати змінних.

  4. Перевірити наявність і заповненості значенням "1" ознаки відправлення даних форми на сервер (значення параметру register).

  5. (Цей пункт і наступні пункти 6-9 виконувати лише за умови відправлення даних на сервер і проходження перевірки.) Запозити значення змінних з глобального масиву $_REQUEST.

  6. Перевірити коректність введення даних. Якщо перевірка пройшла успішно, зміній $register надати значення true.

  7. (Цей і наступний пункт 8 виконувати лише, якщо перевірка у пункті 6 пройшла успішно) Вивести повідомлення про успішну реєстрацію особи, ім'я, прізвище та електронну адресу якої було введено у формі.

  8. Записати особистих даних у текстовий файл users.txt для зберігання на сервері та, можливо, подальшого опрацювання.

  9. (Цей пункт виконують лише тоді, коли дані були введено, відправлено на опрацювання, але перевірку ці дані не пройшли.) Надати змінній $error текст помилки.

  10. Якщо $register має значення false, вивести форму із помилково заповненими полями.

  11. Вивести теги HTML для завершення веб-сторінки.

4. Інструктаж з ТБ.
5. Закріплення вивченого матеріалу

  1. Які опрацьовують дані, передані з форми на сервера.

  2. Чи можна реалізувати складний алгоритм опрацювання даних в одній програмі PHP?

  3. Яким чином здійснити перевірку, вже є було зареєстровано особу з щойно введеними даними (використати strpos та file_get_contents).

Завдання 3. Змінити коди програми і форми, щоб забезпечити:

Записати змінені файли у теку, вказану вчителем.

6. Підбиття підсумків уроку
Виставлення оцінок.

7. Домашнє завдання
Повторити матеріал, вивчений на уроці. У разі потреби доробити завдання 3 і надіслати файли на електронну адресу вчителя.


Текст упорядкувала Почечуєва Наталія Василівна, вчитель гімназії № 287 Святошинського району міста Києва, під час виконання випускної роботи на курсах підвищення кваліфікації з 05.12.2016 по 09.12.2016.