Скачиваний:
17
Добавлен:
03.04.2013
Размер:
248.83 Кб
Скачать

Лабораторная работа №5

Модификация персонального сайта студента с использованием PHPиMySQL

Программное обеспечение

Для выполнения лабораторной работы необходимо следующее ПО:

  1. Редактор HTMLдокументов (желательноHomeSite4.5 и выше)

  2. Файловый менеджер (желательно WindowsCommander4.0 и выше)

  3. Браузер (желательно InternetExplorer5.0 и выше)

  4. Веб сервер Apache1.3.27 и выше

  5. Интерпретатор языка PHP 4.2.3 и выше

  6. СУБД MySQL 3.23.54

Задание

  1. Создать базу данных

Необходимо создать базу данных, в которой будет храниться информация, отображаемая на страницах сайта.

  1. Разработать скрипт, устанавливающий соединение с сервером баз данных

Скрипт должен устанавливать соединение по следующим параметрам: название сервера, название базы данных, логин и пароль. В случае удачного соединения скрипт должен устанавливать название текущей базы в качестве базы данных по умолчанию.

  1. Разработать принцип хранения данных

Текст документов и информация о количестве загрузок страницы должна храниться в базе данных (п.1). Для хранения данных необходимо разработать одну или несколько связанных таблиц. Структуру таблиц базы данных надо описать при помощи таблиц следующего вида:

Название таблицы

Название поля

Тип данных

Описание

  1. Разработать скрипт, инициализирующий базу данных

Инициализирующий скрипт должен создавать в базе данных таблицы со структурой, разработанной в п.3 . После создания таблиц, скрипт должен занести в базу текст документов, отображаемых на сайте. Информация о количестве загрузок каждого документа должна быть обнулена.

  1. Разработать процедуру формирования документа

Формирование документа осуществляется путем подстановки в шаблон (разработанный в л/р №4) соответствующей информации из базы данных. В шаблоне должна быть обеспечена процедура извлечения информации из базы данных в соответствии с номером запрашиваемого документа. Номер запрашиваемого документа передается в строке запроса при нажатии на соответствующий пункт меню.

  1. Разработать счетчик загрузки для каждой страницы сайта.

Внизу каждой страницы должен располагаться счетчик, отображающий в текстовом виде количество загрузок страницы. Для каждой страницы должен вестись отдельный учет количества загрузок. Счетчик реализуется в виде скрипта на языке PHPи хранит данные о количестве загрузок страниц в базе данных.

Вызов скрипта со счетчиком помещается в шаблон страницы. Номер загружаемой страницы (документа) определяется в соответствии с параметром, получаемым из строки запроса.

Отчет

Отчет о выполнении лабораторной работы должен содержать следующие разделы:

  1. Титульный лист

  2. Скрипт, устанавливающий соединение с базой данных

  3. Структуру таблиц

  4. Скрипт, инициализирующий базу данных

  5. Шаблон документа

  6. Скрипт, осуществляющий работу счетчика

Защита

Защита лабораторной работы осуществляется в специально отведенное время в дисплейном классе института. Для защиты необходимо предоставить отчет о выполнении лабораторной работы и продемонстрировать версию сайта с элементами PHPиMySQL.

Перед демонстрацией сайт должен быть помещен на выделенный сервер при помощи FTPклиента. После закачивания сайта на сервер, необходимо установить параметры соединения с базой данных в соответствующем скрипте и запустить скрипт, инициализирующий базу данных. Логин и пароль для доступа к персональному каталогу учащегося на сервере, а так же логин и пароль к базе данных учащегося (база данных создается заранее системным администратором класса) должен быть получен у преподавателя. Демонстрация работоспособности сайта осуществляется на рабочей станции дисплейного класса путем загрузки страниц сайта с сервера программой просмотра страниц (браузером).

Учащийся допускается к защите ТОЛЬКО ПРИ НАЛИЧИИ отчета и демонстрационной версии сайта.

Пример

  1. Создать базу данных можно из командной строки консольного клиента mysql.exe. Для создания базы данных с именемhomepageнеобходимо запустить клиент и в его командной строке выполнить команду:

create database homepage;

  1. Скрипт, устанавливающий соединение с базой данных (файл connect.inc.php):

<?

define("DBName","homepage"); // название базы данных

define("HostName","localhost"); // название сервера

define("UserName",""); // логин

define("Password",""); // пароль

// установка соединения

if (!mysql_connect(HostName,UserName,Password)) die ("Невозможно установить соединение");

mysql_select_db(DBName); // выбор текущей базы данных

?>

  1. Данные для сайта будут храниться в одной таблице следующего вида

Документы (Documents)

docid

int not null primary key

Идентификатор документа

title

varchar(255) not null

Название документа

content

text not null

Содержимое документа

loadings

int unsigned not null default 0

Количество загрузок страницы

  1. Скрипт, инициализирующий базу данных (файл init.php)

<?

// Файл инициализации базы данных

require("connect.inc.php");

$title[0]='Резюме';

$content[0]='

<span class="bold">Ф.И.О:</span> Иванов Иван Иванович<br>

<span class="bold">Дата рождения:</span> 1 января 1970г.<br>

<span class="bold">Семейное положение:</span> холост<br>

<span class="bold">Домашний телефон:</span> 111-11-11<br>

<span class="bold">E-mail:</span> ivanov@mail.ru<br><br>

<span class="subtitle">Образование</span><br>

Московский государственный институт Электроники и Математики (МГИЭМ).<br>

<span class="bold">Специальность:</span> вычислительные машины, комплексы, системы и сети.<br><br>

<span class="subtitle">Опыт работы</span><br>

1995-2004 ООО "СуперСофт"<br>

<span class="bold">Должность:</span> системный администратор<br><br>

<span class="subtitle">Профессиональные навыки</span><br>

<span class="bold">ОС:</span> MS Windows 9x/2000/XP, UNIX<br>

<span class="bold">Языки программирования:</span> C/С++, Visual Basic<br>

<span class="bold">Программные продукты:</span> MS Office, MS Visio<br><br>

<span class="subtitle">Дополнительные сведения</span><br>

<span class="bold">Личные качества:</span> аккуратность, педантичность, обучаемость<br>

<span class="bold">Увлечения:</span> музыка, литература, спорт, компьютерные игры<br>

<span class="bold">Прочее:</span> Английский язык (технический)

';

$q=mysql_query("

create table documents(

docid int not null primary key,

title varchar(255) not null,

content text not null,

loadings int unsigned not null default 0

)

");

for ($i=0;$i<count($title);$i++) {

$field_title=addslashes($title[$i]);

$field_content=addslashes($content[$i]);

mysql_query("

insert into documents(docid,title,content)

values($i,'$field_title','$field_content')

");

}

?>

  1. Файл, содержащий шаблон документа (document.php)

<?

// Файл инициализации базы данных

require("connect.inc.php");

$title[0]='Резюме';

$content[0]='

<span class="bold">Ф.И.О:</span> Иванов Иван Иванович<br>

<span class="bold">Дата рождения:</span> 1 января 1970г.<br>

<span class="bold">Семейное положение:</span> холост<br>

<span class="bold">Домашний телефон:</span> 111-11-11<br>

<span class="bold">E-mail:</span> ivanov@mail.ru<br><br>

<span class="subtitle">Образование</span><br>

Московский государственный институт Электроники и Математики (МГИЭМ).<br>

<spanclass="bold">Специальность:</span> вычислительные машины, комплексы, системы и сети.<br><br>

<span class="bold"><u>Опыт работы</u></span><br>

1995-2004 ООО "СуперСофт"<br>

<span class="bold">Должность:</span> системный администратор<br><br>

<span class="bold"><u>Профессиональные навыки</u></span><br>

<span class="bold">ОС:</span> MS Windows 9x/2000/XP, UNIX<br>

<span class="bold">Языки программирования:</span> C/С++, Visual Basic<br>

<span class="bold">Программные продукты:</span> MS Office, MS Visio<br><br>

<span class="bold"><u>Дополнительные сведения</u></span><br>

<span class="bold">Личные качества:</span> аккуратность, педантичность, обучаемость<br>

<span class="bold">Увлечения:</span> музыка, литература, спорт, компьютерные игры<br>

<span class="bold">Прочее:</span> Английский язык (технический)

';

$q=mysql_query("

create table documents(

docid int not null primary key,

title varchar(255) not null,

content text not null,

loadings int unsigned not null default 0

)

");

for ($i=0;$i<count($title);$i++) {

$field_title=addslashes($title[$i]);

$field_content=addslashes($content[$i]);

mysql_query("

insert into documents(docid,title,content)

values($i,'$field_title','$field_content')

");

}

?>

  1. Скрипт счетчика (counter.inc.php)

<?

// обработка данных счетчика и вывод сообщения о количестве загрузок

$number=++$r["loadings"]; //массив $r определяется в файле document.php

echo '<span class="normal">Количество загрузок страницы: </span><span class="bold">'.$number.'</span>';

mysql_query("update documents set loadings=$number where docid=$page");

?>