4336

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

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

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

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

Русский

2012-11-16

80 KB

10 чел.

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

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

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

  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


 

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

76992. Общая характеристика производства по делам об административных правонарушениях. Задачи и принципы данного производства, обстоятельства, исключающие производство по делу 27.25 KB
  Общая характеристика производства по делам об административных правонарушениях. Задачами производства по делам об административных правонарушениях являются всестороннее полное объективное и своевременное выяснение обстоятельств каждого дела разрешение его в соответствии с законом обеспечение исполнения вынесенного постановления а также выявление причин и условий способствовавших совершению административных правонарушений. Принцип объективности выражается в обязанности государственных органов и должностных лиц уполномоченных осуществлять...
76993. Стадии производства по делам об административных правонарушениях, их правовая характеристика 29.2 KB
  Так при взыскании штрафа на месте соединяется расследование рассмотрение дела и исполнение постановления. Рассмотрение дела: подготовка дела к рассмотрению анализ и оценка обстоятельств дела принятие постановления объявление постановления. Пересмотр постановления: подача жалобы или опротестование постановления; рассмотрение жалобы или пересмотр постановления; вынесение решения; оглашение решения. Исполнение постановления: обращение постановления к исполнению; приведение постановления в исполнение; разрешение вопросов связанных с...
76994. Участники производства по делам об административных правонарушениях: понятие, классификация 27.05 KB
  Участники производства по делам об административных правонарушениях: понятие классификация. Это те уполномоченные лица которые наделены правом принятия решений в производстве по делу решений о возбуждении дела или отказе в возбуждении дела о назначении наказания или прекращения производства и т. Эти лица не имеют своего интереса в исходе производства они содействуют его осуществлению в силу своих профессиональных обязанностей или в процессе выполнения гражданского долга. Всех субъектов производства можно разделить на несколько групп.
76995. Субъекты административно-юрисдикционной деятельности и подведомственность им дел об административных правонарушениях 27.07 KB
  Административноюрисдикционный процесс – деятельность субъектов государственноисполнительной власти по разрешению споров между различными субъектами а также по применению мер административного и дисциплинарного принуждения осуществляемая в административнопроцессуальной форме. Подведомственность устанавливаемая КоАП РФ и законодательными актами субъектов РФ представляет собой распределение закрепление всех дел об административных правонарушениях между органами административной юрисдикции которые уполномочены рассматривать дела...
76996. Характеристика участников производства по делу об административном правонарушении, имеющих заинтересованность в исходе дела 26 KB
  Характеристика участников производства по делу об административном правонарушении имеющих заинтересованность в исходе дела. По степени заинтересованности в деле участников производства по делу об административном правонарушении не обладающих государственновластными полномочиями следует классифицировать на: 1 имеющих личную заинтересованность в исходе дела об административном правонарушении; 2 не имеющих личной заинтересованности в исходе дела. К первой группе следует отнести: лицо в отношении которого ведется производство по делу об...
76997. Характеристика участников производства, способствующих осуществлению производства по делам об административных правонарушениях 27.05 KB
  Они вправе давать показания по делу; заявлять отводы других участников производства; пользоваться юридической помощью; обжаловать итоговые решения стадий; получать копии процессуальных документов; знакомиться со всеми материалами дела об административном правонарушении. В качестве лиц способствующих осуществлению производства по делу об административном правонарушении могут быть только физические лица. По делу об административном правонарушении подлежат выяснению: 1.характер и размер ущерба причиненного административным правонарушением; В...
76998. Меры обеспечения производства по делам об административных правонарушениях: правовое основание и цели применения, особенности процессуального оформления некоторых мер 28.22 KB
  Меры обеспечения производства по делам об административных правонарушениях применяются в следующих целях: пресечение правонарушения; установления личности нарушителя; составление протокола об административном правонарушении при невозможности его составления на месте выявления нарушения; обеспечение своевременного и правильного рассмотрения дела и исполнения принятого по делу постановления.1 освидетельствование на состояние алкогольного опьянения; 6 медицинское освидетельствование на состояние опьянения; 7 задержание транспортного средства...
76999. Возбуждение дела об административном правонарушении. Поводы и основания. Процессуальное оформление 26.14 KB
  Возбуждение дела об административном правонарушении. Возбуждение дела об административном правонарушении начальная стадия производства. Применительно к производству по делам об административных правонарушениях данная стадия имеет специфическое процессуальное оформление. Поскольку составление такого протокола отнесено к компетенции соответствующего полномочного должностного лица постольку инициатором возбуждения дела является именно оно в некоторых случаях представитель общественного объединения.
77000. Протокол об административном правонарушении: содержание, требования, предъявляемые к протоколу, сроки его составления, случаи, когда протокол не составляется 28.31 KB
  Протокол об административном правонарушении: содержание требования предъявляемые к протоколу сроки его составления случаи когда протокол не составляется. Протокол об административном правонарушении процессуальный документ свидетельствующий о совершении данного противоправного деяния конечно предположительно. В Кодексе об административных правонарушениях установлены реквизиты протокола: дата и место составления; данные о его составителях; сведения о личности нарушителя; место время совершения и его существо; нормативный акт...