Лабораторна робота №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) і наберіть наступний код:
Після цього виконаєте наступні дії:
1. Збережете даний текстовий файл у каталозі localhost\www під іменем php_start1.php ( зверніть увагу, розширення у файлу .php).
2. Запустите webрсервер Apache і в рядку адреси браузера, наберіть http://localhost/. Ви повинні побачити усередині віртуального каталогу свій файл php_start.php.
3. Клацніть на ньому й, якщо ви правильно набрали наведений код, у вас повинна завантажитися сторінка (рисунок 1).
Рис. 1. Скриншот сторінки утримуючої Php-Код.
4. Подивитеся html-код даної сторінки (меню Вид – Перегляд HTML коду), і отут починається найголовніше:
Ми бачимо тільки звичайний html-код! Справа в тому, що сторінка має розширення php, тому web-сервер спочатку перед відправленням її клієнтові став переглядати вміст файлу. Знайшовши фрагмент коду, який поміщений між символами <? … ?>, web-сервер відправив його інтерпретаторові PHP. Команда print(""); виводить на екран те, що перебуває між символами лапок. Причому, браузер інтерпретує цей рядок як фрагмент html-коду. Саме тому строку « Php-фрагмент» виводиться як заголовок другого рівня. І вже таку, повністю сгенерована html-сторінку web-сервер передав клієнтові.
Отже, для того, щоб сторінка була динамічної, потрібно, щоб виконалися дві умови:
-
вона повинна мати розширення php
-
усередині неї повинен перебувати php-код, укладений між символами <? … ?>, команди повинні відділятися символом «крапка з коми».
Ми можемо створити файл, який містить тільки php-код:
Збережете файл у каталозі S:\home\localhost\www під іменем php_start2.php. Запросивши цей файл у web-сервера, ви побачите ту ж саму сторінку, що й на рисунку 1.
Завдання 3. Створення php-файлу.
PHP – це скрипт-мова, що вбудовується в HTML, який інтерпретується і виконується на сервері. Створіть файл test.php з наступним змістом:
Завдання Змінні, типи змінних
Як і в будь-якій мові програмування PHP уміє звертатися зі змінними. Їх використовувати дуже просто, досить задати її ім'я і сказати, що міститься в данній змінній. Ім'я змінної обов'язкове повинне починатися зі знака долара, повідомляти тип змінної не потрібно. Значення змінної, узяте в лапки, інтерпретується як текст, числове значення без лапок інтерпретується як число:
У даному прикладі ми створили дві текстові змінні й дві числові. Ми з'єднали текстові змінні (виконали конкатенацію) і виконали операцію додавання із числовими змінними. Результати ми вивели на екран за допомогою команди print().
Вставте даний фрагмент, в html-код, збережете його в каталозі S:\home\localhost\www під іменем php_start3.php. Відкривши в браузері даний файл, ви побачите два рядки «текстові змінні» і «8».
Зверніть увагу, команда print() вивела не рядок $c, а значення зміною с. Саме для легкості виявлення змінної усередині будь-якої конструкції її ім'я повинно обов'язково починатися зі знака долара.
Будемо чесні, PHP підтримує більше чому два типи змінних, але для наших проектів числових і строкових буде досить.
Увага! PHP – мова, яка розрізняє рядкові й прописні букви, $user_name і $User_name – це різні змінні.
Завдання 4. Передача змінних
А як зробити так, щоб людина самостійно вводила значення змінних? Тут нам на допомогу приходять форми.
Давайте згадаємо, що кожний об'єкт форми має ім'я (параметр name=""). По суті, коли людина друкує текст у поле введення або ставить хрестик у поле типу checkbox, він задає значення змінної. Залишилося лише навчитися їх передавати php-коду!
Створіть новий html-файл, що містить наступний код:
Тут ми створюємо форму, що включає чотири об'єкти: два текстові поля й дві кнопки. Кожний об'єкт має своє унікальне ім'я. Сама форма має два параметри. Параметр 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-кодування.
Створіть файл age.php і наберіть у ньому код.
Файл age.php буде відкритий у той момент, коли людей натисне на кнопку «відправити». Він одержить значення двох змінні user_name і user_yare, які буде використовувати в php-коді.
Тому що змінні отримані методом get спочатку обов'язково необхідно витягти їх з отриманого масиву даних. Саме це робить рядок: $user_name = $_GET[‘user_name’];
Якщо дані передаються методом post, то відповідно потрібно витягати змінні з відповідного масиву.
У наведеному фрагменті використовується кілька нових функцій:
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-файл:
Назвіть цей файл request.html. У ньому Ви вказали, що дані форми будуть оброблятися файлом email.php. Приведемо його зміст:
Тепер, якщо користувач викличе 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 наступний код:
От тепер користувач буде отримувати листа з більш докладною інформацією про наші товари. Такий лист отримає і адміністратор сайту.
Завдання 7. Обробка рядків в php.
Мережа Internet побудована на язикових контактах. Користувачі мають справу з інформацією і рядками. Рядки є базовими типами даних PHP. Тому можна вести пошук підстрок, зіставляти рядка й символи і безліч інших операцій.
Завдання 8. Робота з масивами
Спочатку визначаємо два масиви. Один для українських імен місяців, інші для назв днів тижня. При цьому не забуваємо про нульове значення масивів і залишаємо його порожнім. Потім зчитуємо функцією РНР номер поточного місяця. Зчитуємо день тижня, і далі працюємо з масивом.
У перших витягаємо з відповідного гнізда масиву день тижня. А з другого масиву вибираємо ім'я місяця. Залишилося тільки вивести результат на екран.
Практичне завдання
1. Створіть два файли. Помістите обоє файлу в каталог, запустите сервер і відкрийте файл html. Уведіть у поля ваше ім'я і рік вашого народження, натисніть кнопку відправити, у вас повинен відкритися файл, який одержить дані з першого файлу, використовує їх і видасть результат.
2. Самостійно створіть форму, у якій уводиться ім'я студента, і його рік його народження. Дані з форми повинні передаватися в php-файл, який визначає, на якому курсі вчиться людина (припускаючи, що студент вступив у університет в 16 років).