Тема 1. Введение в PHP. Установка локального сервера /2 часа/
Введение в PHP. Установка локального сервера. Локальная работа с PHP. Установка локального сервера.
Тема 2. Пишем первую программу на PHP /2 часа/
Взаимодействие браузера, сервера и PHP-интерпретатора при отображении веб-страницы. Ваша первая программа на PHP. Написание текста на веб-странице. Вывод текста на экран.
Тема 3. Веб-форма — средство обратной связи с посетителями сайта /3 часа/
HTML для PHP. Создание веб-формы. Элементы формы. Структурирование формы. Способы отправки данных веб-формы. Протокол mailto и связанные с ним проблемы. Использование сценария PHP для отправки данных. Создание страницы подтверждения.
Тема 4. Синтаксис PHP. Переменные и массивы. Получение информации из веб-формы. Работа с текстом /6 часов/
Переменные. Создание переменной. Использование переменных. Массивы.Получение информации из веб-формы: встроенная переменная $_POST. Построение содержания электронного письма в PHP. Повышение удобочитаемости сгенерированного письма. Отправка электронного письма с помощью PHP. Получение информации из веб-формы: встроенная переменная $_REQUEST. Работа с $_REQUEST как с массивом. Работа с текстом. Конкатенация. Поиск в тексте. Обрезка и замена текста. Удаление лишних пробелов. Условные конструкции в PHP.
Тема 5. MySQL и SQL: база данных и язык /2 часа/
Понятие базы данных. Что хранится в базах данных. Правильная организация структуры базы данных. MySQL — одна из самых распространенных баз данных. Установка MySQL. SQL — язык для создания, модификации и управления данными в базе данных. Знакомство с некоторыми инструкциями SQL: USE (использование базы данных), CREATE (создание таблиц), DROP (удаление таблиц), INSERT (вставка строк в таблицу), SELECT (выделение).
Тема 6. Подключение PHP к MySQL /2 часа/
Подключение сценария PHP к базе данных MySQL. Выбор используемой базы данных. Обработка ошибок. Способы упрощения и упорядочивания программного кода. Замена введенных вручную значений переменными. Использование констант. Организация кода при помощи внешних файлов.
Тема 7. Работа с базой данных /4 часа/
Проектирование таблиц базы данных. Автоприращение. Создание первичного ключа в таблице. Добавление ограничений к базе данных. Изменение таблиц в базе данных. Создание PHP-сценария для получения информации из веб-формы. Создание SQL-запроса для внесения полученной информации в базу данных. Извлечение информации из базы данных. Выбор записи из базы данных. Вывод информации в браузер.
Тема 8. Обработка ошибок в сценарии /2 часа/
Создание html-страницы ошибки. Сообщение пользователям о возникновении ошибки. Создание страницы ошибки с кодом PHP.
Добавление отладки к приложению для получения отчетов об ошибках.
Тема 9. Обработка изображений /2 часа/
Отправка изображений пользователя на сервер. Проверка ошибок при отправке файла. Решение проблем безопасности: проверка отправляемого файла. Сохранение изображений пользователя на сервере. Добавление информации о местоположении изображений в базу данных. Выбор изображения из базы данных и вывод его на страницу в браузере.
Тема 10. Проблемы защиты данных и их решение /8 часов/
Защита страницы паролем. Понятие HTTP-заголовка, его предназначение. Работа с HTTP-заголовками в PHP. Аутентификация с использованием HTTP-заголовков. Оптимизация сценария защиты.
Разработка сценария для модерирования данных. Условное выражение WHERE как средство для отбора данных, прошедших проверку модератором.
Манипуляция сервером баз данных с помощью комментариев. Символы, меняющие содержание SQL-запроса. Дополнительная обработка данных формы для предотвращения изменений SQL-запроса. Модификация запроса INSERT для повышения уровня безопасности.
Проверка данных формы на достоверность. Проверка пустых полей. Проверка типа данных. Проверка размера файла.
Тема 11. Создание персонализированного веб-приложения. Использование cookies и сессий /8 часов/
Организация доступа к персональным данным для пользователей. Шифрование пароля с помощью функции SHA(). Проверка подлинности пароля при входе в веб-приложение. Аутентификация пользователей с помощью HTTP.
Форма для создания учетных записей для новых пользователей.
Использование cookies в PHP. Средства PHP для сохранения и получения данных cookies. Вход в приложение с использованием cookies. Преимущества и недостатки cookies.
Понятие сессии в PHP. Открытие сессии. Использование данных сессии. Закрытие сессии. Совместное использование cookies и сессий в веб-приложении.
Тема 12. Оптимизация кода при помощи шаблонов /2 часа/
Дублирование кода в разных частях сценария и связанные с этим проблемы. Использование шаблонов PHP для оптимизации кода. Поиск повторяющихся частей в приложении. Построение приложения на основе шаблонов.
Тема 13. Использование функций в PHP. Создание поисковой формы /7 часов/
Создание поисковой формы. Организация поиска в базе данных. Создание гибких поисковых запросов.
Работа с текстом при создании поисковых запросов. Разбиение строки. Создание строки из подстрок. Извлечение подстрок с другого конца. Предварительная обработка поисковой строки.
Применение функций для повторного использования кода. Встроенные и пользовательские функции в PHP.
Сортировка результатов поиска. Вывод результатов поиска на нескольких страницах. Создание навигационных гиперссылок.
Тема 14. Основы применения регулярных выражений /4 часа/
Для чего нужны регулярные выражения. Поиск в строке с использованием регулярного выражения. Альтернативный поиск. Поиск с учетом позиции. Поиск набора символов.
Усовершенствование кода с помощью регулярных выражений. Создание шаблона для номера телефона. Создание шаблонов с использованием метасимволов. Тонкая настройка шаблонов с помощью символьных классов. Создание шаблона для адреса электронной почты. Проверка адреса электронной почты.