Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metod_smit_1-3.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
268.8 Кб
Скачать

2.2 Завдання на виконання роботи

Створити HTML документ , який містить PHP скрипт (він буде називатися, наприклад, lab2.php ), який виконує наступні дії:

  1. При першому звернені до документу із броузера клієнта (за допомогою URL документу), в броузер клієнта виводиться HTML документ (назвемо його first_html), який містить таблицю (назвемо її first_tabl) із заголовками з 10 рядків та форму (назвемо її first_form) з 7 кнопок: VIEW, NEXT, PREV, ADD, DELETE, FIND, OVERWRITE. При цьому таблиця виводиться порожня.

  2. При натисканні кнопки VIEW з форми first_form робиться запит методом GET до документу lab2.php. Отримавши запит, PHP скрипт, який міститься у документі, повинен розібрати запит, визначити, що була натиснута кнопка VIEW та вивести у таблицю first_tabl документа first_html перші 10 рядків з текстового файлу попередньої лабораторної роботи.

  3. При натисканні на кнопки NEXT або PREV з форми first_form робиться запит методом GET до документу lab2.php. Отримавши запит, PHP скрипт, який міститься у документі, повинен розібрати запит, визначити, що була натиснута кнопка NEXT або PREV та вивести у таблицю first_tabl документа first_html наступні 10 або попередні 10 рядків з текстового файлу.

  4. При натисканні кнопок ADD або DELETE з форми first_form робиться запит методом GET до документу lab2.php, який, розібравши запит, повинен визначити, що були натиснуті кнопки ADD або DELETE та вивести у броузер клієнта новий HTML-документ (назвемо його second_html), який містить форму (назвемо її second_form). Форма second_form повинна складатися з текстових полів, оформлених у вигляді таблиці, двох кнопок ADD та DELETE і посилання (у вигляді HREF) на попередній документ first_form (документ пункта 1). Таблиця (назвемо її second_tabl) містить один запис та стільки полів, скільки містить запис з файлу попередньої роботи.

  5. При введені у відповідні поля таблиці second_tabl даних та натисканні кнопки ADD з форми second_form робиться запит методом GET до документу lab2.php. Отримавши запит, PHP, скрипт, який міститься у документі, повинен розібрати запит, визначити, що була натиснута кнопка ADD , зчитати з запиту вміст полів таблиці second_tabl. У кінець текстового файлу повинен бути приєднаний запис (порожні поля у таблиці не допускаються) у необхідному форматі (див. попередню лабораторну роботу). Далі у броузер клієнта повинен бути виведений HTML документ first_html.

  6. При введені у відповідні поля таблиці second_tabl даних та натисканні кнопки DELETE з форми second_form робиться запит методом GET до документу lab2.php. Отримавши запит, PHP скрипт, який міститься у документі, повинен розібрати запит, визначити, що була натиснута кнопка DELETE, зчитати із запиту вміст полів таблиці second_tabl та з текстового файла видалити записи, відповідні поля яких співпадають зі значеннями полів таблиці second_tabl. При цьому порожнє поле таблиці second_tabl показує, що воно співпадає з будь-яким вмістом відповідного поля запису в файлі. Далі у броузер клієнта виводиться попередній документ first_html.

  7. При натисканні кнопок FIND або OVERWRITE з форми first_form робиться запит методом GET до документу lab2.php, який, розібравши запит, повинен визначити, що була натиснута кнопка FIND або OVERWRITE та вивести у броузер клієнта новий HTML-документ (назвемо його third_html), який містить форму (назвемо її third_form), яка складається з текстових полів, оформлених у вигляді таблиці, двох кнопок FIND та OVERWRITE і посилання (у вигляді HREF) на попередній документ first_form. Таблиця (назвемо її third_tabl) містить один запис та стільки полів, скільки містить запис з текстового файлу.

  8. При введенні у відповідні поля таблиці third_tabl даних та натисканні кнопки FIND з форми third_form робиться запит методом POST до документу lab2.php. Отримавши запит, PHP скрипт, який міститься у документі, повинен розібрати запит, визначити, що була натиснута кнопка FIND, зчитати із запиту вміст полів таблиці third_tabl та у броузер клієнта вивести HTML- документ first_html у таблиці якого first_tabl повинні бути відображені перші 10 записів файла, відповідних результатам пошуку. При цьому порожнє поле таблиці third_tabl показує, що воно співпадає з будь-яким вмістом відповідного поля запису в файлі.

  9. При введенні у відповідні поля таблиці third_tabl даних та натисканні кнопки OVERWRITE з форми third_form робиться запит методом POST до документу lab2.php. Отримавши запит, PHP скрипт, який міститься у документі, повинен розібрати запит, визначити, що була натиснута кнопка OVERWRITE, зчитати із запиту вміст полів таблиці third_tabl, знайти всі записи файла , вміст полів first_name та second_name яких співпадає з вмістом полів таблиці third_tabl (порожнє поле first_name або second_name означає будь-яке значення) та у знайдених записах змінити у текстовому файлі всі інші поля значеннями з third_table (якщо поле у таблиці порожнє, то у відповідне поле у запису файла значення не змінює). Далі в броузер клієнта повинен бути виведений HTML-документ first_html, у таблиці якого first_tabl повинні бути відображені перші 10 записів файла, відповідні результатам заміни.

2.3 Контрольні питання

2.3.1 Форми й інтерфейс загального доступу CGI.

2.3.2 Елементи форм і атрибути.

2.3.3 Керуючі елементи форм.

2.3.4 Методи передачі даних POST і GET.

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

Засоби мови PHP для роботи із

СКБД MySQL

Мета роботи: практичне застосування знань про методи роботи із СКБД MySQL у мові програмування PHP.

3.1 Теоретичні відомості

При створенні реальних Web проектів досить часто потрібно постійне відновлення HTML сторінок. І якщо обсяг обновлюваних даних досить великий, і (або) будь-який відвідувач ресурсу має можливість вносити свої дані, самим оптимальним рішенням є використання разом з HTML баз даних. Найбільше часто в Web проектах використовується СКБД MySQL. Це обумовлено насамперед тим, що СКБД MySQL існує практично під усі платформи, легко набудовується і є безкоштовною.

PHP крім MySQL підтримує ряд інших СКБД (наприклад, InterBase, Informix, Oracle, Sybase, Microsoft SQL Server), і для кожної з них є свій набір функцій. Функції для роботи з MySQL мають префікс mysql_, аналогічні префікси визначають функції для інших баз даних. Незважаючи на те, що для кожної бази даних є свій набір функцій, існує типова модель роботи з базою даних:

  1. Підключення до СКБД.

  2. Вибір бази даних.

  3. Виконання SQL інструкції.

  4. Обробка результатів.

  5. Відключення від СКБД.

Підключення до MySQL здійснюється функцією mysql_connect:

$connection = @mysql_connect("localhost","admin","123") or

die("Неможливо підключитися до MySQL");

Як аргументи даної функції виступають ім'я сервера ("localhost"), ім'я користувача ("admin") і пароль("123"). Символ @ використовується для подавлення повідомлень сервера про помилки.

Вибір бази даних здійснюється функцією mysql_select_db:

$connection = @mysql_connect("localhost","admin","") or

die("Неможливо підключитися до MySQL");

$db_name="php_test";

$db=@mysql_select_db($db_name,$connection) or

die("Cannot select database!!");

Перший аргумент цієї функції – ім'я обираної бази даних, другий – ідентифікатор поточного з'єднання.

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

mysql_query($sql,$connection), де

  • $sql – перемінний, утримуючий текст запиту;

  • $connection – ідентифікатор поточного з'єднання.

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

Як приклад візьмемо базу даних php_test, що містить таблицю Author. Поля цієї таблиці – id (унікальний ідентифікатор запису), name (ім'я письменника), biography (короткий коментар). Потрібно вивести список авторів і коментарі до них у вигляді таблиці.

Код PHP скрипта буде виглядати так:

<?

$msg="<p align=\"center\"><strong>";

//here is we make connection

$connection = @mysql_connect("localhost","admin","") or

die("Неможливо підключитися до MySQL");

if ($connection)

{ $msg .="Connection OK!!!"; }

//the name of database we are going to use

$db_name="php_test";

//we select database "php_test"

$db=@mysql_select_db($db_name,$connection) or

die("Cannot select tabel!!");

//------------------------------------------

$sql="select * from author";

$result=@mysql_query($sql,$connection) or

die("Selection failed!");

$tb="<table border=1 bordercolor=black align=center><tr>";

$tb .="<th width=270 align=center >Name";

$tb .="<th width=400 align=center >Biography";

$tb .="<tr>";

while ($row=mysql_fetch_array($result))

{ $id=$row['id'];

$name=$row['name'];

if (!$name) {$name=" "; }

$tb .="<th width=270 align=center>$name";

$biography=$row['biography'];

if (!$biography) {$biography=" "; }

$tb .="<th width=400 align=center>$biography";

$tb .="<tr>";

}

$tb .="</table>";

//---------Bye-bye--------------------------

$msg .="</strong></p><br>";

?>

<html>

<head>

<title>Connetion to MySQL</title>

</head>

<body>

<? echo "$msg$tb";?> <br>

</body>

</html>

Запустивши на виконання скрипт, одержимо:

Рисунок 3.1 – Результати виконання скрипта

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]