Клієнт-сервер / лабки / лабки 7 вариант / клиентс-серв_4
.docСтудент …… група 410-і
Лабораторна робота № 4
Тема: Одержання змінних з форм.
Мета: ознайомитися з особливостями опрацювання даних, що вводяться у мові РНР.Отримати практичні навички передавання даних між формами та між формою і
сценарієм. Створити відповідні скрипти.
Завдання №1
Створити калькулятор
Скріншот готової програми
Код програми
<!DOCTYPE html> <html> <head> <title>Форма калькулятора</title> </head> <body> <form method="post" action="calculate.php"> <p>Значение 1: <input type="text" Name="val1" size=10> </p> <p>Значение 2: <input type="text" Name="val2" size=10> </p> <p><input type="submit" Name="submit" value="Вычислить"></p> <p>Действие:<br> <input type="radio" Name="calc" value="сложить">сложить<br> <input type="radio" Name="calc" value="вычесть">вычесть<br> <input type="radio" Name="calc" value="умножить">умножить<br> <input type="radio" Name="calc" value="разделить">разделить<br> </p> </form> </body> </html>
<?php if(($_POST['val1'] == "") && ($_POST['val2'] == "") && ($_POST['calc'] == "")){ header("location: http://localhost/calculate_form.php"); } if ($_POST['calc'] == "сложить"){ $result=$_POST['val1']+$_POST['val2']; } else if ($_POST['calc']=="вычесть"){ $result=$_POST['val1']-$_POST['val2']; } else if ($_POST['calc']=="умножить"){ $result=$_POST['val1']*$_POST['val2']; } else if ($_POST['calc']=="разделить"){ $result=$_POST['val1']/$_POST['val2']; } ?> <html> <head> <title>Результат вычисления</title> </head> <body> <p>Результат вычисления равен: <? echo "$result"; ?></p> </body> </html>
Завдання №2
Переробити приклади з 1 лб
Скріншот готової програми
Код програми
<?php $x = (int)$_GET['X']; $res = (5*$x+tan(2*$x)+sqrt(abs($x)))/(exp(2)-1); echo "Лабораторна робота №1<br>Глуховцов Ілля<br>Варіант 7 ;<br>Результат: $res"; ?> <form method="get"> <div class="form"> <BR> X =<?= $x ?> <label> <input type="text" name="X"> </label> <BR> <br> <button>Розрахувати</button> </div> </form>
Завдання №3
Переробити приклади з 1 лб
Скріншот готової програми
Код програми
<?php $a = (int)$_GET['a']; $b = (int)$_GET['b']; $c = (int)$_GET['c']; $r = (int)$_GET['r']; $p=($a+$b+$c)/2; $s=sqrt($p*($p-$a)*($p-$b)*($p*$c)); $s1=pi()*$r*$r; echo "Лабораторна робота №1<br>Глуховцов Ілля<br>Варіант 7 <br>"; echo " Площа трикутника = $s<br>Площа кола: $s1"; ?> <form method="get"> <div class="form"> <BR> A =<?= $a ?> <label> <input type="text" name="a"> </label> <BR> B =<?= $b ?> <label> <input type="text" name="b"> </label> <br> C =<?= $c ?> <label> <input type="text" name="c"> </label> <br> Радиус кола =<?= $r ?> <label> <input type="text" name="r"> </label> <br> <button>Розрахувати</button> </div> </form>
Завдання №4
Переробити приклади з 3 лб
Скласти програму, що знаходить значення виразу А=7*В – 4*С*Е. В, С та Е –
довільні цілі числа.
Скріншот готової програми
Код програми
<?php $B = (int)$_GET['B']; $C = (int)$_GET['C']; $E = (int)$_GET['E']; $A=7*$B-4*$C*$E; ?> <form method="get"> <div class="form"> <p>А=7*В – 4*С*Е</p> <BR> B =<?= $B ?> <label> <input type="text" name="B"> </label> <BR> C =<?= $C ?> <label> <input type="text" name="C"> </label> <br> E =<?= $E ?> <label> <input type="text" name="E"> </label> <br> <button>Розрахувати</button> <p><b>Відповідь: A= <?= $A ?> </b></p> </div> </form>
Висновок : На лабораторній роботі було ознайомлено з особливостями опрацювання даних, що вводяться у мові РНР.Отримати практичні навички передавання даних між формами та між формою і
сценарієм. Створити відповідні скрипти.
Контрольні питання
Які об’єкти HTML форми є обовязковими?
метод; дію; кнопку для пересилання форми (Submit).
Поясніть призначення кожного з них.
Атрибут Action визначає розташування й ім'я сторінки, на яку посилається інформація з форми для обробки. Якщо сторінка, що буде обробляти дані, перебуває в тім же каталозі, що й утримуюча форму сторінка, то URL у параметрі Action є просто ім'ям цієї сторінки. Інакше це може бути повний URL, що визначає адресу Web на іншому сервері або в іншому каталозі на тім же сервері..
Атрибут method може приймати одне з двох значень – GET або POST. Він визначає спосіб, використовуваний для пересилання дані форми на сторінку, де вони будуть оброблятися. Існує два методи на вибір.
Після клацання мишею на кнопці для пересилання HTML-форми, змінні будуть послані програмі, зазначеній в параметрі action =, за допомогою методу, зазначеного в параметрі method =.
Що являють собою метод, як обєкт форми?
Атрибут method може приймати одне з двох значень – GET або POST
Які методи можна назвати? В чому особливість їх використання і призначення?
Метод GET є більше старим способом пересилання даних. У цьому випадку дані з форми приєднуються наприкінці URL сторінки, на яку посилають дані (URL в атрибуті action ). Дані форми складаються з текстового рядка, що з'єднується з URL за допомогою знака питання (?). Ви могли бачити, як це відбувається, при відвідуванні Web. Цей метод не є кращим при відправленні даних форми, тому що існує обмеження на кількість символів, що посилаються, і дані погано захищені від стороннього перегляду, коли вони з'являються в полы адреси URL у браузері. Ми будемо надалі в деяких випадках використати цей метод.
Метод POST почасти вирішує ці проблеми. Він посилає дані форми на сторінку action як окремий потік даних, що не з'являється в полы адреси браузера, крім того, можна посилати будь-яку необхідну для обробки форми кількість символів. Якщо немає спеціальних причин, завжди використовують метод POST.
Що таке дія, як обєкт форми? Яким чином можна задати дію?
Атрибут Action визначає розташування й ім'я сторінки, на яку посилається інформація з форми для обробки. Якщо сторінка, що буде обробляти дані, перебуває в тім же каталозі, що й утримуюча форму сторінка, то URL у параметрі Action є просто ім'ям цієї сторінки. Інакше це може бути повний URL, що визначає адресу Web на іншому сервері або в іншому каталозі на тім же сервері..