Распечатать страницу

Лабораторна робота №13, Основи програмування PHP

« Назад

Код роботи: 725

Вид роботи: Лабораторна робота

Предмет: Web-програмування

Тема: №13, Основи програмування PHP

Кількість сторінок: 1

Дата виконання: 2015

Мова написання: українська

Ціна: 150 грн

 

Хід роботи

 

Завдання 1. Перевірка html.

Відкрийте папку Мій комп‘ютер і уважно перегляньте які є пристрої. Завантажте Start Denwer. Знову відкрийте папку Мій комп‘ютер, там повинен з‘явитись новий віртуальний диск. Зайдіть у папку www.

Наприклад S:\home\localhost\www

У директорії www (це директорія, де зберігаються html документи сервера Apache) створіть файл index.html з будь-яким текстовим змістом. Тепер запустите браузер і наберіть:

http://localhost/index.html.

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

 

Завдання 2 . Вставка PHP-коду.

Відкрийте текстовий редактор (або Dreamweaver) і наберіть наступний код:

725,1

Після цього виконаєте наступні дії:

1. Збережете даний текстовий файл у каталозі localhost\www під іменем php_start1.php ( зверніть увагу, розширення у файлу .php).

2. Запустите webрсервер Apache і в рядку адреси браузера, наберіть http://localhost/. Ви повинні побачити усередині віртуального каталогу  свій файл php_start.php.

3. Клацніть на ньому й, якщо ви правильно набрали наведений код, у вас повинна завантажитися сторінка (рисунок 1).

725,1-Скриншот-сторінки-утримуючої-Php-Код
Рис. 1. Скриншот сторінки утримуючої Php-Код.

4. Подивитеся html-код даної сторінки (меню Вид – Перегляд HTML коду), і отут починається найголовніше:

725,2

Ми бачимо тільки звичайний html-код! Справа в тому, що сторінка має розширення php, тому web-сервер спочатку перед відправленням її клієнтові став переглядати вміст файлу. Знайшовши фрагмент коду, який поміщений між символами <? … ?>, web-сервер відправив його інтерпретаторові PHP. Команда print(""); виводить на екран те, що перебуває між символами лапок. Причому, браузер інтерпретує цей рядок як фрагмент html-коду. Саме тому строку « Php-фрагмент» виводиться як заголовок другого рівня. І вже таку, повністю сгенерована html-сторінку web-сервер передав клієнтові.
Отже, для того, щоб сторінка була динамічної, потрібно, щоб виконалися дві умови:

  • вона повинна мати розширення php

  • усередині неї повинен перебувати php-код, укладений між символами <? … ?>, команди повинні відділятися символом «крапка з коми».

Ми можемо створити файл, який містить тільки php-код:

725,3

Збережете файл у каталозі S:\home\localhost\www під іменем php_start2.php. Запросивши цей файл у web-сервера, ви побачите ту ж саму сторінку, що й на рисунку 1.

725,3-Створення-php-файлу

 

Завдання 3. Створення php-файлу.

PHP  – це скрипт-мова, що вбудовується в HTML, який інтерпретується і виконується на сервері. Створіть файл test.php з наступним змістом:

725,4

Завдання  Змінні, типи змінних

Як і в будь-якій мові програмування PHP уміє звертатися зі змінними. Їх використовувати дуже просто, досить задати її ім'я і сказати, що міститься в данній змінній. Ім'я змінної обов'язкове повинне починатися зі знака долара, повідомляти тип змінної не потрібно. Значення змінної, узяте в лапки, інтерпретується як текст, числове значення без лапок інтерпретується як число:

725,5

У даному прикладі ми створили дві текстові змінні й дві числові. Ми з'єднали текстові змінні (виконали конкатенацію) і виконали операцію додавання із числовими змінними. Результати ми вивели на екран за допомогою команди print().

Вставте даний фрагмент, в html-код, збережете його в каталозі S:\home\localhost\www під іменем php_start3.php. Відкривши в браузері даний файл, ви побачите два рядки «текстові змінні» і «8».

725,6

Зверніть увагу, команда print() вивела не рядок $c, а значення зміною с. Саме для легкості виявлення змінної усередині будь-якої конструкції її ім'я повинно обов'язково починатися зі знака долара.

Будемо чесні, PHP підтримує більше чому два типи змінних, але для наших проектів числових і строкових буде досить.

Увага! PHP – мова, яка розрізняє рядкові й прописні букви, $user_name і $User_name – це різні змінні.

 

Завдання 4. Передача змінних

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

Давайте згадаємо, що кожний об'єкт форми має ім'я (параметр name=""). По суті, коли людина друкує текст у поле введення або ставить хрестик у поле типу checkbox, він задає значення змінної. Залишилося лише навчитися їх передавати php-коду!

Створіть новий html-файл, що містить наступний код:

725,7


 

Тут ми створюємо форму, що включає чотири об'єкти: два текстові поля й дві кнопки. Кожний об'єкт має своє унікальне ім'я. Сама форма має два параметри. Параметр action, що повідомляє, якому файлу будуть передаватися дані після натискання кнопки submit, це - файл age.php. Параметр method має значення get, змінні з форми будуть передаватися у відкритому виді, приєднуючись до адреси. Припустимо, ми введемо ім'я користувача Nata, а рік його народження 1980, то нажавши кнопку «відправити», дані будуть передані файлу age.php, і рядок адреси прийме вид:

http://localhost/age.php?user_name=Nata&user_yare=1980&b1=%E2%B3%E4%EF%F0%E0%E2%E8%F2%E8

тут потрібні деякі коментарі:

  • усі передані дані розташовуються за символом “?”

  • усі дані зібрані у вигляді: ім'я змінної = значення змінної;

  • змінна b1 має значення «відправити» текст, що містить кирилицю. Для таких змінних браузер автоматично виконує Url-кодування.

725,8

Створіть файл age.php і наберіть у ньому код.


725,9

Файл age.php буде відкритий у той момент, коли людей натисне на кнопку «відправити». Він одержить значення двох змінні user_name і user_yare, які буде використовувати в php-коді.
Тому що змінні отримані методом get спочатку обов'язково необхідно витягти їх з отриманого масиву даних. Саме це робить рядок: $user_name = $_GET[‘user_name’];

Якщо дані передаються методом post, то відповідно потрібно витягати змінні з відповідного масиву.

725,10

У наведеному фрагменті використовується кілька нових функцій:
 echo(); - функція, відповідальна за виведення значень змінних, багато в чому аналогічна функції print().
date(); - функція, що повертає поточну дату у вигляді рядка. Функція має велику кількість параметрів, що показують, у якому виді повинен бути представлений результуючий рядок. У нашому лістингу функція date() має єдиний параметр "Y", завдяки ньому в змінній $y буде поточний рік.

От інші параметри функції date():
G - година, 24-часовий формат без провідних нулів; тобто від "0" до "23"
i - хвилини; тобто від "00" до "59"
j - день (число) місяця без провідних нулів; тобто від "1" до "31"
m - місяць; тобто від "01" до "12"
H - година, 24-часовий формат; тобто від "00" до "23"
 n - місяць без провідних нулів; тобто від "1" до "12"
s - секунди; тобто від "00" до "59"
Y - рік, 4 цифри; наприклад, "1999"
y - рік, 2 цифри; наприклад, "99"
z - день року; тобто від "0" до "365"

приклад використання функції: date()
$today = date("j, n, Y"); змінна $today прийме значення: 10, 3, 2001 (число, місяць, рік)
$today = date("H:i:s"); змінна $today прийме значення: 17:16:54 (годинник, хвилини, секунди)

Незважаючи на те, що змінна $yare - строкового типу, ми можемо, не перетворювати рядок у число, а відразу, відняти поточний рік від року, народження, уведеного користувачем. PHP - терпимо ставиться до таких речей, і де можливо зробить перетворення самостійно.

Додавання коментарів

Гарний стиль програмування вимагає вставки коментарів до свого коду. Ви можете додати коментарі в PHP двома способами:

  • Для коментаря одного рядка вам потрібно в її початку додати символи //

  • Для коментування багаторядкового блоку необхідно заключити блок символами /* ... */.

Остерігайтеся вкладених коментарів. Такі конструкції: /* /* ... */ */ викличуть проблеми.

 

Завдання 5. Робота з формами.

У цьому прикладі показано, як в PHP легко обробляти дані з html–форм.

Створіть простий html-файл:

725,11

 

Назвіть цей файл request.html. У ньому Ви вказали, що дані форми будуть оброблятися файлом email.php. Приведемо його зміст:

725,12

Тепер, якщо користувач викличе request.html і набере у формі «Володимир», email: vladymyr@yahoo.com і вкаже, що його цікавлять «Яблука», те у відповідь викличеться email.php, який виведе приблизно наступне:

Привіт, Володимир.

Дякую за Ваш інтерес.

Вас цікавлять Яблука. Інформацію про них ми надішлемо вам на email: vladymyr@yahoo.com

 

Завдання 6.

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

Для цього в PHP є функція MAIL.

Синтаксис: void mail(string to, string subject, string message, string add_headers);

to – email адреса одержувача.

subject – тема листа.

message –текст повідомлення.

add_headers – інші параметри заголовка листа (необов'язковий параметр).

Допишемо в кінець файлу email.php наступний код:

725,13

От тепер користувач буде отримувати листа з більш докладною інформацією про наші товари. Такий лист отримає і адміністратор сайту.

 

Завдання 7. Обробка рядків в php.

Мережа Internet побудована на язикових контактах. Користувачі мають справу з інформацією і рядками. Рядки є базовими типами даних PHP. Тому можна вести пошук підстрок, зіставляти рядка й символи і безліч інших операцій.

725,14 

 

Завдання 8. Робота з масивами

725,15

725,16

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

У перших витягаємо з відповідного гнізда масиву день тижня. А з другого масиву вибираємо ім'я місяця. Залишилося тільки вивести результат на екран.

Практичне завдання

1. Створіть два файли. Помістите обоє файлу в каталог, запустите сервер і відкрийте файл html. Уведіть у поля ваше ім'я і рік вашого народження, натисніть кнопку відправити, у вас повинен відкритися файл, який одержить дані з першого файлу, використовує їх і видасть результат.

2. Самостійно створіть форму, у якій уводиться ім'я студента, і його рік його народження. Дані з форми повинні передаватися в php-файл, який визначає, на якому курсі вчиться людина (припускаючи, що студент вступив у університет в 16 років).