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

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

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

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

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

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

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

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

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

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

Задание

  1. Разработать шаблон страницы

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

  1. Поместить данные во внешний файл

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

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

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

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

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

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

Отчет

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

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

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

  3. Текст файла(ов), содержащего информационное наполнение страниц сайта

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

  5. Описание структуры файла, содержащего данные счетчика

Защита

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

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

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

Пример

  1. Шаблон документа (файл document.php)

<?

// Файл содержит шаблон страницы

require ("data.inc.php"); // включение в программу внешнего файла data.inc.php

if (!isset($page)) $page=0;

?>

<html>

<head>

<title>Персональный сайт Иванова И.И. Резюме</title>

<link href="img/styles.css" rel="stylesheet">

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

<meta name="keywords" content="Иванов, персональный сайт, резюме">

</head>

<body bgcolor="#CCCCCC">

<script language="Javascript">

<!--

// инициализация массивов, содержащих имена файлов

var PassivePictures=new Array(1);

var ActivePictures=new Array(1);

// заполнение массивов

ActivePictures[0]="img/res2.gif";

PassivePictures[0]="img/res.gif";

// функция замены изображений

function Change(button,param,type) {

if (type=="act") button.src=ActivePictures[param];

else button.src=PassivePictures[param];

}

-->

</script>

<center><span class="title"><? echo $title[$page]; ?></span></center>

<hr size="1" width="100%">

<table width="100%" cellspacing="10" cellpadding="0" border="0">

<tr>

<td width="200" valign="top">

<a href="document.php?page=0"><img src="img/res.gif" width="157" height="47" alt="Резюме" border="0" onmouseover="Change(this,0,'act')" onmouseout="Change(this,0,'pas')"></a><br><br>

<a href="#"><img src="img/bio.gif" width="157" height="47" alt="Биография" border="0"></a><br><br>

<a href="#"><img src="img/proj.gif" width="157" height="47" alt="Проекты" border="0"></a>

</td>

<td>

<table width="100%" cellspacing="0" cellpadding="0" border="0">

<tr>

<td class="normal">

<? echo $content[$page]; ?>

</td>

</tr>

</table>

</td>

</tr>

</table>

<hr size="1" width="100%">

<? require ("counter.inc.php"); ?>

</body>

</html>

  1. Файл, содержащий информационное наполнение страниц (файл data.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> Английский язык (технический)

';

?>

  1. Текст файла, содержащего скрипт счетчика (файл counter.inc.php)

<?

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

if (!file_exists("counter.dat"))

$number=1;

else {

$fp=fopen("counter.dat","r");

$number=fgets($fp);

$number++;

fclose($fp);

}

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

$fp=fopen("counter.dat","w");

fputs($fp,$number);

fclose($fp);

?>