Лабораторна робота №8, Застосування PHP при проектуванні сайту
Код роботи: 1224
Вид роботи: Лабораторна робота
Предмет: Сучасні інтернет-технології
Тема: №8, Застосування PHP при проектуванні сайту
Кількість сторінок: 1
Дата виконання: 2016
Мова написання: українська
Ціна: 150 грн
Мета: Набуття практичних навичок з застосування PHP при проектуванні сайту
Завдання до виконання роботи
ЗАВДАННЯ 1. Дуже часто на web-сторінці необхідно відправити лист, зберегти змінну для наступного візиту користувача. Ви навчитесь вирішувати ці, а також деякі інші завдання, використовуючи мову PHP.
Мова HTML дає можливість створювати посилання на електронну адресу, наприклад:
<p>Авторський проект <a href="mailto: Titorovd@mail.ru">Титорова Данила</a>
При клацанні на такому посиланні на комп'ютері відвідувача запуститься поштовий клієнт, наприклад OutlookExpress у якому можна буде набрати лист. Такий спосіб має ряд недоліків:
На комп'ютері відвідувача поштовий клієнт може бути не настроєний (відвідувач дивиться ваш сайт не з домашнього комп'ютера, а в інтернетркафе або в офісі).
Перехід з однієї програми в іншу викликає у частини користувачів складності.
Використання адреси в html-коді робить його доступним для спамерів, так що не дивуйтеся якщо у вашій поштовій скриньці почнуть з'являтися небажані листи з рекламою.
PHP пропонує простий засіб, який забирає ці недоліки:
Лістинг №1
У першій частині коду створюється форма з полями "author" і "text". Після натискання кнопки "submit", дані передаються методом POST за адресою mail.php.
У другій частині, що виконується на сервері, у випадку якщо кнопка "submit" натиснута, викликається функція mail(), яка має три параметри: електронна адреса, куди потрібно доставити лист, тему листа, і текст листа. У наведеному прикладі тема листа виходить з'єднанням рядка "лист із сайту від" і прийнятої змінної author. Тому що весь код виконується на стороні сервера, користувач не зможе побачити його у своїй згенерованої сторінці.
Звичайно, поштові клієнти дають набагато більше можливостей, ніж простий набір тексту, але для багатьох випадків запропоновано рішення цілком прийнятне.
ЗАВДАННЯ 2. Завантаження графічних файлів
Якщо вам потрібно, щоб користувач завантажив на сервер будь-який файл, наприклад зображення, вам допоможе наступний Php-Код:
Лістинг №2
У першій частині коду будується форма з полем типу file, яка служить для вибору файлу на диску користувача. Зверніть увагу на обов'язкове сховане поле (type="hidden") яке має ім'я MAX_FILE_SIZE ( саме так, заголовними буквами). Це поле визначає максимальний розмір файлу, що завантажується. У прикладі - це 4000 байт.
У другій частині, що виконується, у випадку, якщо кнопка submit натиснута, виконується завантаження. Даний фрагмент буде завантажувати всі файли під вихідним іменем. Що звичайно створить проблеми, якщо спробувати завантажити на сервер файл, що містить російські букви. Також наведений скрипт дозволяє завантажувати файли будь-якого типу, що, звичайно не безпечно. Для більш професійної роботи скрипт повинен бути складніше.
ЗАВДАННЯ 3. Динамічні шаблони
При створенні сайту використовуючи тільки засоби HTML ви напевно зіштовхнулися із ситуацією, коли одні і ті ж шматки коду ви вставляти в кожну html-сторінку. Для того щоб вирішить цю проблему в PHP, використовується функція include(). Її синтаксис дуже простий:
include ("file.inc");
Вона вставляє усередину вашого php-файлу шматок коду з файлу file.inc. Зрозуміло, ім'я файлу може бути довільним, довільним може бути і його розширення, але прийнято все-таки робити .inc для більш швидкого сортування, пошуку. Тепер ми можемо створити єдиний шаблон для сторінки, наприклад такий (лістинг 3):
Лістинг №3
Зверніть увагу, що усередині клітин таблиці немає тексту, графіки, там перебуває впроваджені фрагменти коду (рисунок 1).
Рис. 1 - Динамічний шаблон
Найцікавіша контентна область. Залежно від переданої змінної id в неї буде завантажуватися один із трьох файлів: about.inc, product.inc або contact.inc. Кожний фрагмент може мати довільне текстове і графічне наповнення.
Тому що при первісному вході ніякий змінної не передається, використовується конструкція isset(), у такому випадку завантажується фрагмент about.inc.
Збережіть файл на диск у віртуальному каталозі під іменем index.php.
Розглянемо, вміст файлу menu.inc:
Лістинг №4
Усі три посилання ведуть на той самий файл index.php, але в кожному випадку передається різне значення змінної id.
Такий спосіб будови сайту дозволяє використовувати загальний шаблон. При додаванні інформації ви просто додаєте один рядок у файл menu.inc і ще одну перевірку в контентній області шаблону.
ЗАВДАННЯ 4. Створіть простий сайт на основі динамічного шаблону, описаного вище.
Додайте до нього ще один пункт меню «написати лист». Створіть форму для відправлення листів і програмний код мовою PHP.
Питання для самоконтролю
1. Чому небажане використовувати на сайті html-тег <a href=”mailto:...”>?
2. Який спосіб передачі даних потрібно використовувати при завантаженні зображень на сервер?
3. Чим зручне використання динамічних шаблонів?