Файл: Лабораторна робота 4.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 20.05.2024

Просмотров: 31

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Лабораторна робота №4

Тема: Одержання змінних з форм.

Мета: ознайомитися з особливостями опрацювання даних, що вводяться у мові РНР. Отримати практичні навички передавання даних між формами та між формою і сценарієм. Створити відповідні скрипти.

Теоретичний розділ

Форми HTML мають містити наступні елементи:

  • метод;

  • дію;

  • кнопку для пересилання форми (Submit).

В HTML-коді перший рядок для форми буде виглядати приблизно так:

<form method="post" action="yorscript.php">

Після клацання мишею на кнопці для пересилання HTML-форми, змінні будуть послані програмі, зазначеній в параметрі action =, за допомогою методу, зазначеного в параметрі method =.

Атрибут Action визначає розташування й ім'я сторінки, на яку посилається інформація з форми для обробки. Якщо сторінка, що буде обробляти дані, перебуває в тім же каталозі, що й утримуюча форму сторінка, то URL у параметрі Action є просто ім'ям цієї сторінки. Інакше це може бути повний URL, що визначає адресу Web на іншому сервері або в іншому каталозі на тім же сервері..

Атрибут method може приймати одне з двох значень – GET або POST. Він визначає спосіб, використовуваний для пересилання дані форми на сторінку, де вони будуть оброблятися. Існує два методи на вибір.

Метод GET є більше старим способом пересилання даних. У цьому випадку дані з форми приєднуються наприкінці URL сторінки, на яку посилають дані (URL в атрибуті action ). Дані форми складаються з текстового рядка, що з'єднується з URL за допомогою знака питання (?). Ви могли бачити, як це відбувається, при відвідуванні Web. Цей метод не є кращим при відправленні даних форми, тому що існує обмеження на кількість символів, що посилаються, і дані погано захищені від стороннього перегляду, коли вони з'являються в полы адреси URL у браузері. Ми будемо надалі в деяких випадках використати цей метод.

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

Змінні, передані з форми в сценарій РНР, заносяться в глобальний асоціативний масив $http_post_vars або $http_get_vars залежно від методу, зазначеного у формі. Вони автоматично стають доступними для програми.


У наступній роботі треба буде створити HTML-форму й пов'язаний з нею сценарій РHP, що виконує обчислення відповідно до отриманих з форми даними.

Практичний розділ

Створення форми калькулятора

У цій роботі буде створена форма для сценарію калькулятора. Ця форма буде містити два поля вводу та перемикачі для вибору типу розрахунку.

Уведіть наступний текст HTML:

Щоб почати створення форми з методом post і дією, що виконується в сценарії calculate.php, уведіть заголовок форми:

Щоб створити поля введення з написом для двох змінних, уведіть:

Щоб створити кнопку обчислення, уведіть текст

Щоб закрити форму, і завершити HTML-код уведіть текст:

Збережіть створений файл під ім'ям calculate_form.html у папці для документів Web-сервера. Запустіть браузер, у рядок Адреса: уведіть: http://localhost/calculate_form.html і натисніть Enter. У браузері відобразиться сторінка calculate_form.html (pис. 1)

Рис. 1. Сторінка calculate_form.html.

У вікні браузера відображена форма, що містить поля введення Значення 1 і Значення 2 і кнопку Вычислить. Зупиніться на хвилинку, щоб подивитися на HTML-форму та зрозуміти, які імена будуть мати змінні, значення яких уводяться через форму.

Виберіть у браузері команду меню Вид/У вигляді HTML, щоб перемкнути режим відображення вашого браузера для перегляду вихідного HTML-коду. На екрані з'явиться робоче вікно текстового редактора Блокнот з вихідним текстом відображеної браузером сторінки (рис. 2).

Рис. 2. Текст сторінки calculate_form.html.

При пересиланні форми у ваш сценарій будуть передані дві змінні - $val1 й $val2, тому що саме ці імена є значеннями параметра NAME, використаного при створенні кожного текстового поля. Значеннями цих змінних будуть значення, уведені користувачем у відповідні поля форми.


Додавання перемикачів у форму

Тепер додамо до вже створеної форми перемикачі, стан яких буде визначати тип операції над двома значеннями: додавання, віднімання, множення й ділення.

Відкрийте за допомогою текстового редактора файл calculate_form.html.

Перед рядком, що задає параметри кнопки Вычислить, уведіть наступний фрагмент HTML-коду:

Виберіть команду Файл / Зберегти, щоб зберегти зміни.

Запустите браузер, у поле Адреса: уведіть:

http://localhost/calculate_form.html

і натисніть клавішу Enter.

Якщо Ви все зробили правильно, то в робочому вікні браузера з'явиться сторінка calculate_form.html із групою перемикачів Действиe: (рис. 3).

Рис. 3. Форма із групою перемикачів Действиe.

Тепер створена нами форма містить два поля уведення Значення 1 і Значення 2, перемикач Действиe й кнопку Вычислить. Крім того, до вже існуючих двох змінних ($vall й $val2) додалася ще одна з ім'ям $calc, що також буде посилатися у сценарій.

Тепер вся попередня підготовка виконана, і в наступному пункті буде створено сценарій калькулятора.

Створення сценарію калькулятора

Відповідно до обраної у формі calculate_form.html дії, необхідно назвати PHP-сценарій calculate.php. Ціль сценарію - прийняти два значення змінних $val1 й $val2 і зробити з ними обчислення залежно від значення змінної $calc.

Запустите текстовий редактор і створіть новий файл.

Почніть PHP-блок і підготуйте оператор if до перевірки наявності трьох змінних, увівши наступний текст:

Цей вираз перевіряє: "Якщо кожна зі змінних не має значення, то потрібно виконати блок програми, розташований відразу після оператора if".

Замініть закоментований рядок на два наступні рядки:

header ("location: http://localhost/calculate_form.html");

exit;

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


Упевніться, що перед початком PHP-блоку немає порожніх рядків, пробілів або іншого тексту. Ви не можете використати функцію header ( ), якщо щось уже було відправлено браузеру.

Уведіть оператор if...else для виконання розрахунку, заснованого на значенні змінної $calc:

Почніть блок HTML:

Використовуючи змішування кодів HTML і РНР, уведіть рядок, що виведе на екран результат обчислення:

Завершите HTML-документ текстом:

Збережіть створений файл із ім'ям calculate.php у папці для документів вашого Web-сервера.

Створений вами сценарій повинен виглядати як на pис. 4.

Рис. 4. Лістінг сценарію calculate.php.

Пересилання форми та одержання результатів

Ми створили все, що потрібно для калькулятора: зовнішній вигляд (форму) і внутрішній зміст (сценарій), тепер можна приступитися до його перевірки. Запустіть ваш Web-браузер, у поле Адреса: уведіть:

http://localhost/calculate_form.html

і натисніть клавішу Enter, у робочому вікні браузера з'явиться сторінка з формою (рис. 5).

Рис. 5. Сторінка калькулятора.

Натисніть кнопку Вычислить, не вводячи нічого в поля уведення форми. Web-браузер перезавантажить сторінку, тому що ви не ввели значення в три необхідні поля.

Уведіть у поле уведення Значення 1 будь-яке число, але нічого не вводите в поле уведення Значення 2, і не встановлюйте жоден з перемикачів Действиe.

Натисніть кнопку Вычислить. Web-браузер знову перезавантажить сторінку.

Уведіть у поле уведення Значення 2 будь-яке число, але нічого не вводите в поле уведення Значення 1, і не встановлюйте жоден з перемикачів Действиe.

Натисніть кнопку Вычислить. Web-браузер знову перезавантажить сторінку.

Установите один з перемикачів Действиe, у поля уведення Значення 1 і Значення 2 нічого не вводите.


Натисніть кнопку Вычислить. Web-браузер перезавантажить сторінку.

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

Уведіть число 9732 у поле уведення Значення 1 і число 27 у поле уведення Значення 2.

Установіть перемикач сложить й натисніть кнопку Вычислить. У робочому вікні браузера з'явиться сторінка з результатом додавання двох чисел (рис. 2.11).

Рис. 6. Результат перевірки дії додавання двох чисел.

Натисніть кнопку Назад, розташовану на панелі інструментів вашого браузера, щоб повернутися до форми.

Введіть число 432 у поле уведення Значення 1 і число 947 у поле уведення Значення 2.

Встановіть перемикач отнять і натисніть кнопку Вычислить.

У робочому вікні браузера з'явиться сторінка з результатом віднімання двох чисел (рис. 7).

Рис. 7. Результат перевірки дії віднімання двох чисел.

Натисніть кнопку Назад і поверніться до форми калькулятора.

Уведіть число 8562 і число 81.

Встановіть перемикач умножить й натисніть кнопку Вычислить.

Результат множення двох чисел показаний на рис. 8.

Рис. 8. Результат перевірки дії множення двох чисел.

Натисніть кнопку Назад і поверніться до форми калькулятора.

Уведіть число 4893 і число 7143.

Встановіть перемикач разделить й натисніть кнопку Вычислить. Результат ділення двох чисел показаний на рис. 9.

Рис 9. Результат перевірки дії множення двох чисел.

Ви перевірили всі можливі обчислення з різними значеннями змінних. Як бачите, калькулятор цілком працездатний, він може навіть виконувати операції з негативними й дробовими числами. Переконайтеся в цьому самі, тільки памятайте, що в дробових числах ціла частина повинна відокремлюватися від дробової частини крапкою, а не комою.

Індивідуальні завдання