4336

Разработка гостевой книги для персонального сайта студента

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

Информатика, кибернетика и программирование

Разработка гостевой книги для персонального сайта студента Необходимое программное обеспечение: Для выполнения лабораторной работы необходимо следующее ПО: Редактор HTML документов (HomeSite 4.5 и выше, AditorPro 3.05 , Блокнот и др.)...

Русский

2012-11-16

80 KB

11 чел.

Разработка гостевой книги для персонального сайта студента

Необходимое программное обеспечение:

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

  1.  Редактор HTML документов (HomeSite 4.5 и выше, Aditor Pro 3.05 , Блокнот и др.)
  2.  Файловый менеджер (Windows Commander 4.0 и выше)
  3.  Браузер (Internet Explorer 5.0 и выше)
  4.  Веб сервер Apache 1.3.27 и выше
  5.  Интерпретатор языка PHP 4.2.3 и выше
  6.  СУБД MySQL 3.23.54

Задание

  1.  Разработать форму для ввода данных

Необходимо разработать HTML - форму, через которую будут вводиться записи в гостевую книгу. Разрабатываемая форма должна ОБЯЗАТЕЛЬНО содержать следующие поля:

  •  Имя пользователя (элемент формы text)
    •  E-mail пользователя (элемент формы text)
    •  Сообщение (элемент формы textarea)
    •  Кнопка для отправки данных на сервер (элемент формы submit)
  1.  Разработать таблицу для хранения записей гостевой книги.

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

Структуру таблицы базы данных необходимо описать следующим образом:

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

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

Тип данных

Описание

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

Скрипт, инициализирующий пустую таблицу должен быть разработан по принципу, описанному в л/р №3 часть 2.

  1.  Разработать скрипт гостевой книги

Необходимо разработать скрипт, отображающий все записи гостевой книги и позволяющий посетителю сайта оставить новое сообщение. Добавление новых записей должно осуществляться при помощи разработанной ранее формы (п.1). Сообщения, оставленные в гостевой книге и форма для добавления  записей должны располагаться на одной html-странице, генерируемой скриптом гостевой книги. При добавлении новой записи необходимо осуществлять проверку, содержат ли поля «Имя», «E-mail» и «Сообщение» пустую строку. В случае, если одно из полей содержит пустую строку, необходимо вывести сообщение об ошибке. При обнаружении ошибки запись в базу данных не добавляется.

Ссылка на гостевую книгу должна быть включена  в навигационное меню сайта

Отчет

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

  1.  Титульный лист
  2.  Скрипт, устанавливающий соединение с базой данных
  3.  Описание структуры таблицы
  4.  Скрипт, инициализирующий таблицу в базе данных
  5.  Скрипт, осуществляющий работу гостевой книги

Защита

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

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

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

Пример

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

<?

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

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

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

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

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

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

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

?>

Здесь указать название своей базы данных: define("DBName","mybase");

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

Таблица guestbook

recid

not null primary key auto_increment

ID записи

person

varchar(30) not null

Имя посетителя

message

text not null

Содержимое записи

email

text not null

E-mail посетителя

pubdate

int unsigned not null

Дата добавления записи


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

<?

 require("connect.php");

 mysql_query("create table guestbook(

  recid int not null primary key auto_increment,

  person varchar(30) not null,

  message text not null,

  email text,

  pubdate int unsigned not null)");

 echo 'БД успешно создана!';

 echo mysql_error();

?>

  1.  Скрипт, осуществляющий работу гостевой книги (файл guestbook.php)

<?

// Файл содержит скрипт гостевой книги

require ("connect.php"); // установка соединения с базой данных

$error=''; //переменная, в которую будет помещено сообщение об ошибке

$msg_list=''; //переменная, в которую будет помещен список опубликованных сообщений

if (isset($ok)) {

// если нажата кнопка отправки данных - проверяем значения полей

 if ((trim($person)=='') || (trim($message)==''))

  $error='<span class="error">Все поля должны быть заполнены!</span>';

 else {

 $person=addslashes($person);

 $email=addslashes($email);

 $message=addslashes($message);

 $time=time();

 mysql_query("insert into guestbook values(NULL,'$person','$message','$email',$time)");

 }

}

// формируем список опубликованных сообщений для вывода на экран

$q=mysql_query("select * from guestbook");

while($r=mysql_fetch_array($q))

$msg_list.=

'<p><b class="bold">'.date("d.m.Y H:i",$r['pubdate']).'</b>

  <br>'.stripslashes($r['message']).'<br>

  <b class="bold">'.stripslashes($r['person']).'</b>&nbsp;&nbsp;

  <i>'.stripslashes($r['email']).'</i></p>';

if ($msg_list!='') $msg_list.='<hr size="1" width="100%">';

$title='..::Гостевая::..';

?>

<html>

<head>

<title>Персональный сайт студента <? echo  $title; ?></title>

<link href="image/style.css" rel="stylesheet">

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

<meta name="keywords" content="студент, персональный сайт, <? echo $meta; ?>">

</head>

<center><body bgcolor="#FFFFFF">

<script language="Javascript">

<!--

//masivi

 var PassivePictures=new Array(5);

 var ActivePictures=new Array(5);

 ActivePictures[0]="image/rezum.gif";

 PassivePictures[0]="image/rezum1.gif";

 ActivePictures[1]="image/biogr.gif";

 PassivePictures[1]="image/biogr1.gif";

 ActivePictures[2]="image/file.gif";

 PassivePictures[2]="image/file1.gif";

 ActivePictures[3]="image/ssilk.gif";

 PassivePictures[3]="image/ssilk1.gif";

 ActivePictures[4]="image/gostev.gif";

 PassivePictures[4]="image/gostev1.gif";

function Change(button,param,type) { //zamena

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

 else button.src=PassivePictures[param];

}

-->

</script>

<table width="788" height="100%" cellspacing="5" cellpadding="0" border="0" bgcolor="white">

<TR>

<TD width="200" height="5"><left><span class="verh">Персональный сайт студента 4-го курса</span></left></TD></TR>

   <TD width="200" height="50" bgcolor="#ffcc66"><center><img src="Image/verh.gif" width="100" height="51" border="0" align="center" alt=""></center>

 </TD>

   <TD bgcolor="#00509D"><center><span class="title"><? echo $title; ?></span></center></TD>

<tr>

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

 <br>

  <center><a href="index.php?page=0"><img src="image/rezum1.gif" width="157" height="33" align="center" alt="Резюме" border="0"

       onmouseover="Change(this,0,'act')" onmouseout="Change(this,0,'pas')"></a></center><br><br>

  <center><a href="index.php?page=1"><img src="image/biogr1.gif" width="157" height="33" align="center" alt="Биография" border="0"

      onmouseover="Change(this,1,'act')" onmouseout="Change(this,1,'pas')"></a></center><br><br>

  <center><a href="index.php?page=2"><img src="image/file1.gif" width="157" height="33" align="center" alt="Файлы" border="0"

     onmouseover="Change(this,2,'act')" onmouseout="Change(this,2,'pas')"></a></center><br><br>

  <center><a href="index.php?page=3"><img src="image/ssilk1.gif" width="157" height="33" align="center" alt="Ссылки" border="0"

      onmouseover="Change(this,3,'act')" onmouseout="Change(this,3,'pas')"></a></center><br><br>

  <center><a href="guestbook.php"><img src="image/gostev1.gif" width="157" height="33" align="center" alt="Гостевая" border="0"

      onmouseover="Change(this,4,'act')" onmouseout="Change(this,4,'pas')"></a></center><br><br>

  <hr size="2" width="100% color="#006699">

      <center><img src="Image/web.gif" width="48" height="48" border="0" align="top"></center>

</p></p>  <td>

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

   <tr>

 <td class="normal">

 <? echo $msg_list.$error; ?>

 <form action="guestbook.php" method="post">

  <b class="bold">Имя</b><br>

  <input type="text" name="person" maxlength="30" size="35"><br><br>

  <b class="bold">Еmail</b><br>

  <input type="text" name="email" maxlength="30" size="35"><br>

  </select><br><br>

  <b class="bold">Сообщение</b><br>

  <textarea name="message" cols="30" rows="5"></textarea><br><br>

  <input type="submit" name="ok" value="Отправить">

 </form>

 </td>

</tr>

  </table>

 </td>

</tr>

</table>

<a href="drop.php">Удалить БД | </a><a href="create.php">  Создать БД | </a><a href="initg.php"> Создать БД Гостевой книги</a>

</body>

</html>


Список литературы

  1.  Р. Айзенменгер, "Справочник HTML 3.2/4.0", "Бином", Мск 1998
  2.  Дуванов А.А., “WEB – конструирование HTML”, “BHV” СПб  2003
  3.  Дэн Ливингстон, Мика Браун, “CSS и DHTML WEB - профессионалам” , “BHV” Киев 2001
  4.  Д. Кастаньетто и др., "Профессиональное PHP программирование", "Символ", СПб 2001
  5.  М. Грабер, "Введение в SQL", "Лори", Мск 1996
  6.  Официальный сайт разработчиков PHP http://www.php.net
  7.  Официальный сайт разработчиков MySQL http://www.mysql.com
  8.  Официальный сайт разработчиков Apache http://www.apache.org


 

А также другие работы, которые могут Вас заинтересовать

72935. Античная цивилизация. Древняя Греция 33.96 KB
  Самые высокие оценки греческой цивилизации не кажутся преувеличенными. Мысль о чуде греческой цивилизации вызвана скорее всего ее необычайно быстрым расцветов. Создание греческой цивилизации относится к эпохе культурного переворота VII V вв.
72936. Біосфера. Роль В.І.Вернадського у вивченні біосфери. Ноосфера 33.73 KB
  Жива речовина. Що принципово відрізняє нашу планету від будь-якої іншої планети Сонячної системи? Наявність життя. «Якби на Землі не було життя, — писав академік В. І. Вернадський, — обличчя її було б так само незмінним і хімічно інертним, як нерухоме обличчя Місяця, як інертні уламки небесних світил».
72938. Радіація в біосфері. Наслідки Чорнобильської катастрофи 27.4 KB
  Внаслідок міграції разом з атмосферним повітрям водою їжею радіонукліди потрапляють в організм людини накопичуються там і спричинюють його внутрішнє опромінення. Щоб запобігти наслідкам опромінення вживають заходів щодо обмеження зовнішнього і внутрішнього опромінення персоналу...
72939. Сучасна наука про довкілля 21.65 KB
  Вагомим внеском у становленні екології були праці К. Мебіуса (1877), який запропонував поняття «біоценоз» і Ф.Даля (1890),який ввів у наукове використання термін «екотоп». На початку ХХ ст. американські дослідники Ф.Клементс,Р. Адамс,В.Шелфорд розробили основи і методи дослідження угрупувань живих організмів.
72940. Планування аудиту 60.5 KB
  Планування аудиту означає розробку загальної стратегії виконання завдання та плану аудиту для зменшення аудиторського ризику до прийнятно низького рівня. В плануванні беруть участь партнер з завдання та ключовий персонал групи з завдання, що дозволяє отримати користь...
72941. Мета і загальні принципи аудиту 276 KB
  Цілі та основні принципи стандартів аудиту. Основні вимоги до аудиту. Розвиток в Україні ринкових відносин тісно пов’язаний з розвитком і вдосконаленням фінансово-економічного контролю та аудиту як одного з основоположних елементів ринкової інфраструктури.
72942. Аудиторський ризик і оцінювання системи внутрішнього контролю 260 KB
  Підприємницький ризик, пов’язаний з відповідальністю стосовно клієнта, полягає в тому, що аудитор (або аудиторська фірма) може зазнати невдачі унаслідок взаємостосунків з клієнтом, навіть якщо аудиторський висновок, представлений аудитором цьому клієнту...
72943. Рынки факторов производства и распределения факторных доходов 62.78 KB
  Теория факторов производства буржуазная теория утверждающая что в процессе производства взаимодействуют три основных фактора: труд капитал и земля. Заработная плата представляется ценой труда и единственным результатом деятельности рабочего в процессе производства тем самым маскируется эксплуатация рабочих.