4336

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

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

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

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

Русский

2012-11-16

80 KB

17 чел.

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

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

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

  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


 

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

77542. Продукционные модели знаний 87.5 KB
  Продукционные модели знаний занимают особое положение, т. к. они являются наиболее декларативным способом представления знаний. Продукционная модель представления знаний – это набор правил вила
77543. Семантические сети и их особенности 108.5 KB
  В бытовом понимании семантика означает смысл слова, действия, художественного произведения и т.п. Семантическая сеть – это граф, вершинам которого сопоставляются понятия (объекты, процессы, явления), дуги графа – это отношения между вершинами.
77544. Крепостное право и кодификация законов 213 KB
  Понять, как положение крепостных отражено в праве. Проанализировать, как сочетаются крепостное право и абсолютизм. Разобраться в том, какие права были у помещиков, а какие у крепостных. Найти ответ на вопрос, что представляло собой крепостное право в эпоху оформления законов и сохранения крепостничества.
77545. Проект технологического процесса изготовления детали «Шестерня» в условиях серийного производства 185.98 KB
  В данной курсовой работе представлена разработка технологического процесса изготовления детали шестерня. Представлены рабочий чертёж детали эскизы операций чертежи специального формообразующего и мерительного инструмента.
77546. Долгосрочный прогноз развития внешней торговли Забайкальского края до 2020 года 2.38 MB
  Рассмотрение научно-теоретических основ прогнозирования; изучение Стратегии социально-экономического развития РФ до 2020 года, а также региональных федерально-целевых программ развития территорий; проведение анализа внешней торговли Забайкальского края (Читинской области) с 1996-2007 гг.; составление прогноза внешней торговли Забайкальского края до 2020 года.
77548. Автоматизована система керування лінією виготовлення кексів на приватному підприємстві «Вікторія» 4.61 MB
  Ефектами від впровадження автоматизації являються: зниження трудомісткості виробництва та трудовитрат збільшення змінності виробництва стабільна швидкість роботи покращення якості виконуваних контрольних та управлінських операцій вирішення задачі автоматизації...
77549. Проектирование микропроцессорной системы устройства управления выводом текстовой информации на жидкокристаллический дисплей на базе микроконтроллера ADuC842BS 1.07 MB
  Выполнить проектирование микропроцессорной системы с разработкой аппаратной части, согласно своему варианту. Разработать программный модуль для реализации заданных согласно варианту функций аппаратной части спроектированной микропроцессорной системы.
77550. Разработка компьютерного тестового контроля знаний 3.09 MB
  В аналитической части описаны процессы тестирования знаний и обработки результатов. Для лучшего понятия предметной области построены модели ASIS. Произведен анализ систем схожего направления, выделены их достоинства и недостатки.