Програма курсу Web-програмування
Тема N 1. Організація, інсталяція та конфігурування Web-сервера Apache в курсі web-програмування
Огляд, встановлення та налаштування веб-сервера Apache. Використання пакета Денвер у курсі Web-програмування. Основні директиви налаштування сервера Apache. Файли конфігурації та .htaccess. Налаштування віртуальної папки. Віртуальні хости. Налаштування повідомлень про помилки. Налаштування файлів журналів. Встановлення та налаштування PHP. Встановлення PHP як модуля сервера Apache. Налаштування PHP та сервера Apache для спільної роботи. Перевірка роботи PHP. Перший сценарій PHP. Встановлення сервера MySQL. Управління кешуванням. Модулі сервера. Прив'язка обробників. Аутентифікація та авторизація користувачів
Практична робота: створення та налаштування віртуальної папки та віртуального хоста. Налаштування сервера для обробки довільних типів файлів.
Тема N 2. Навчання програмування мовою PHP в курсі web-програмування
Тема N2-1. Основи мови PHP – вступ.
Синтаксис мови PHP. Базові типи даних у PHP. РНР-блоки та коментарі. Змінні, константи, вирази. Зумовлені константи та змінні PHP. Вирази. Оператори. Інкремент та декремент. Масиви. Індексні масиви. Асоціативні масиви. Керівні конструкції. If, switch.
Практична робота: калькулятор.
Тема N2-2. Основи мови PHP – цикли, обробка форм.
Керівні конструкції - цикли: for, while, do ... while, foreach. Обробка масивів через цикли. Функції емуляції SSI: include та require. Робота з протоколом HTTP. Заголовки запиту та відповіді. Статус сервера. Доступ до заголовків запиту – змінні оточення сервера. Робота з формами, методи GET та POST. Відмінність методів. Обробка форм. Перевірка значень, що передаються.
Практична робота: обробка форми замовлення товарів.
Тема N2-3. Робота із функціями. Функції користувача.
Опції. Опис функцій. Область видимості змінних. Глобальні та локальні змінні. Суперглобальні змінні. Виклик функцій. Аргументи функцій. Передача аргументів за промовчанням. Повернення значень із функцій. Статичні змінні. Концепція рекурсії. Огляд інтегрованих функцій. Функції обробки рядків, масивів, змінних. Функції дати та часу. Математичні функції.
Практична робота: написання функцій користувача для обробки даних на сайті.
Тема N2-4. Робота із файлами. Розробка Web-сайтів у курсі PHP.
Огляд функцій роботи з файлами та файлові операції. Організація читання та запису у файл. Концепція курсору. Замикання (блокування) файлів. Маніпуляції із файлами: копіювання, перейменування, видалення. Функції до роботи з папками. Завантаження файлів на сервер. Створення простого односторінкового сайту із готових файлів.
Практична робота: створення лічильника відвідувачів сайту із визначенням IP.
Тема N2-5. Робота із поштою. Графічні можливості PHP.
Надсилання пошти з сайту, налаштування для роботи з поштою. Функції роботи з поштою. Установки поштових програм. Основні графічні формати для Web. Генерація графіки на PHP. Використання базових функцій для роботи із графікою.
Практична робота: форма зворотного зв'язку з відправкою на пошту та створення голосування з виведенням результатів у графічному вигляді.
Тема N2-6. Сесії та кукіси. Розробка Web-сайтів у курсі PHP.
Сесійні та постійні куки. Запис і читання cookie. Встановлення типу вмісту (заголовок Content-Type). Заборона та дозвіл кешування (заголовки Cache-Control та Expires). Переходи на інші сторінки (переадресація та заголовок Location). Перезапити сторінок (заголовок Refresh). Встановлення типу вмісту (заголовок Content-Type). Заборона та дозвіл кешування (заголовки Cache-Control та Expires). Створення, читання та видалення сесій. Передача параметрів по сесії. Сесійні змінні.
Практична робота: створення гостьової книги відгуків із посторінковим виведенням та збереженням даних у текстовому файлі.
Тема N 3. Встановлення, запуск та конфігурування MySQL. Навчання програмування баз даних MySQL. Інтеграція PHP та MySQL
Тема № 3-1. Основи роботи з базами даних в курсі PHP та MySQL.
Загальні відомості про бази даних у курсі PHP. Загальні відомості про SQL. Концепція SQL-запиту. Синтаксис виразів SQL. Утиліти сервера MySQL. Огляд файлів MySQL 5. Клієнтські програми для роботи сервером. Використання утиліт командного рядка. Використання додаткових утиліт сервера. Навчання використання сервера MySQL у програмах PHP. Функції PHP для роботи з сервером MySQL Підключення до MySQL. Створення бази даних та таблиць. Вибірка та обробка результатів.
Практична робота: створення однотабличної бази даних та виведення даних з неї.
Тема № 3-2. Проектування бази даних в курсі web-програмування
Види та типи баз даних. Проектування бази даних. Типи даних у MySQL. Моделювання простих баз даних. Нормалізація та нормальні форми. Ключі та ключові атрибути. Вивчення залежностей та відносин сутностей баз даних
Практична робота: проектування бази даних телефонний довідник.
Тема № 3-3. Мова SQL: маніпулювання даними. Модулі роботи із сервером MySQL.
Мова SQL. Оператори визначення даних. Створення бази на сервері MySQL. Схема даних. Індекси та обмеження. Оператори маніпулювання даними INSERT, UPDATE та DELETE. Вибір даних SELECT. Предикати (клаузули) WHERE, ORDER. Функції агрегації (агрегати). Обмеження вибірки. Угруповання даних. Використання підготовлених запитів.
Практична робота: додавання, перегляд та пошук за телефонним довідником.
Тема № 3-4. Об'єднання запитів та консолідація даних у курсі MySQL. Об'єднання таблиць.
Об'єднання запитів у курсі MySQL. Використання підзапитів та безлічі значень. Використання об'єднаних запитів. Тимчасові таблиці та перегляди. Пов'язані таблиці. Оновлення та видалення даних для пов'язаних таблиць. Маніпулювання даними курсом MySQL. Внутрішнє поєднання таблиць.
Практична робота: створення тесту для перевірки знань.
Тема № 3-5. Аспекти безпеки під час роботи з базами даних. Оптимізація та обслуговування сервера MySQL 5 у курсі PHP.
Безпека під час роботи з базами даних. Концепція SQL ін'єкції. Підвищення безпеки скриптів. Зберігання аутентифікації даних на сервері. Обробка вхідних даних. Резервне копіювання та аварійне відновлення інформації. Перевірки та відновлення таблиць. Поділ прав користувачів. Оптимізація запитів. Оптимізація баз даних курсу MySQL. Оптимізація конфігурації сервера курсу MySQL.
Тема № 3-6. Взаємодія PHP та MySQL. Розв'язання задач.
Робота з формами у PHP та MySQL. Вибірка, пошук, сортування, редагування та видалення даних. Концепція хеша. Використання регулярних виразів. Форма оформлення замовлення товарів.
Практична робота: написання скрипту реєстрації та авторизації відвідувачів сайту.
Попередня підготовка в курсі web-програмування: знання основ HTML-верстки та CSS (базово)
Мета курсу Web-програмування:
Організація, інсталяція та конфігурування web-сервера, серверне програмування, встановлення, запуск та конфігурування СУБД MySQL. Програмування бази даних. Інтеграція MySQL із PHP.
Після закінчення ви будете вміти:
Конфігурування web-сервера, серверне програмування, встановлення, запуск та конфігурування СУБД MySQL. Програмування бази даних. Інтеграція MySQL із PHP.