Тема №3
Тема: Основы разработки сайтов
Задания:
Прочитать содержимое шаблона main.tpl в текстовую переменную.
Плейсхолдер {MAIN_MENU} заменить на содержимое шаблона main_menu.tpl
Блоки: а) с основным текстом страницы, б) новостями, в) областью с адресом и копирайтом удалить из шаблона main.tpl, пометив места их расположения плейсхолдерами. Содержимое удаляемых блоков разместить в отдельных шаблонах. Обеспечить замену плейсхолдеров содержимым соответствующих шаблонов (аналогично пункту 2).
Плейсхолдеры {TODAY_D}, {TODAY_M}, {TODAY_Y}, {NOW_H}, {NOW_M}, {NOW_S} заменить на фрагменты текущей даты и времени: день, месяц, год, час, минута, секунда соответственно.
Создать конфигурационный файл site.cfg (формат разработать самостоятельно; примечание: делать этот файл в формате php ЗАПРЕЩЕНО, т.е. это должен быть "простой текстовый файл"), в котором разместить две переменные: main_color и copyright_color, в которых хранить (и использовать для управления сайтом) цвета области с основным текстом страницы и области с адресом и копирайтом.
Ход выполнения лабораторной работы:
Для чтения файлов *.tpl создана функция, которая осуществляет считывание с помощью (file_get_contents), результатом выполнения является содержимое файла.
Для замены плейсхолдеров {TODAY_D}, {TODAY_M}, {TODAY_Y}, {NOW_H}, {NOW_M}, {NOW_S} используем функцию date('d.m.Y h:i:s').
Для работы с конфигом была написана функция (рис. 3.1).
Рисунок 3.1 – Функция чтения конфига.
Тема №4
Тема: Основы взаимодействия с БД
Задания:
Создать БД с уникальным именем.
В созданной БД создать таблицу news, содержащую поля: уникальный идентификатор новости, дата публикации новости, заголовок новости, текст новости.
Написать функцию, отображающую на сайте N самых свежих новостей (N задаётся как параметр функции), новости сортируются по убыванию даты. Рекомендуется для выполнения этого задания использовать шаблоны.
В созданной БД создать таблицу pages, содержащую поля: уникальный идентификатор страницы, информация о родительской странице, текст для отображения в меню.
На основе таблицы, разработанной в пункте 4, сформировать меню сайта. Меню должно иметь не менее трёх уровней вложенности. (Необязательное требование: при клике по некоторому пункту меню должен открываться ("разворачиваться") его первый подуровень, остальные пункты меню при этом находятся в "свёрнутом" состоянии).
Дополнительное задание (по желанию): создать таблицу для хранения информации о пользователях сайта. Получить информацию из полей «Логин» и «Пароль» (форма на странице уже есть) и, если пользователь ввёл верные данные, заменить форму на текст в виде «Здравствуйте, ИМЯ_ПОЛЬЗОВАТЕЛЯ!». Используя механизм сессий, добиться того, чтобы пользователь оставался «залогиненным» при переходе между различными страницами вашего сайта.
Ход выполнения лабораторной работы:
В панели управления phpMyAdmin создаём базу данных WT.
Создаём таблицу news.
Функция для отображения новостей (рис 4.1)
Рисунок 4.1 – Функция для отображения новостей.
Создаём таблицу pages.
Для решения данной задачи создана функция (рис 4.2).
Рисунок 4.1 – Функция для построения меню.
Создаём таблицу User. Создаем функцию проверки пользователей (рис 4.3)
Рисунок 4.3 – Функция проверки пользователей.
