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


 

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

10911. Методика проектного навчання на уроках технічної праці в 5 класі 987 KB
  Методика проектного навчання на уроках технічної праці в 5 класі 2.2.1 Проектування виробів Урок 1. Вступне заняття. Технологія як перетворююча діяльність людини 1 год. Мета уроку. Засвоєння знань про техніку технології основні види технологічної діяльності пр...
10912. Конструкційне макетування 44.5 KB
  Тема 1.4: Констукційні . Мета: Навчальна: сформувати знання вміння та навички пов’язані з макетуванням. Виховна: виховувати в учнів естетичне сприймання предметів культуру праці та бережливе ставлення до чужої праці. Розвиваюча: розвивати у школярів спеціальні
10913. Стандарт і якість. Ергономіка та біоніка 35.5 KB
  Тема 10:Стандарт і якість. Ергономіка та біоніка. Мета: Навчальна: сформувати знання вміння та навички пов’язані з даними поняттями. Виховна: виховувати в учнів культуру праці та бережливе ставлення до чужої праці. Естетичне сприймання предметів. Розвиваюча: розви...
10914. Промислова графіка. Умовні знаки, упаковка, реклама їх призначення види застосування 30 KB
  Тема 11: Промислова графіка. Умовні знаки упаковка реклама їх призначення види застосування. Мета: Навчальна: сформувати знання вміння та навички пов’язані з даними поняттями. Виховна: виховувати в учнів культуру праці та бережливе ставлення до чужої праці. Естет
10915. Технологія свердлильних робіт. Свердла, кути заточування свердел 23.5 KB
  Тема 12: Технологія свердлильних робіт. Свердла кути заточування свердел. Мета: Навчальна: сформувати знання навички та вміння свердління виробів з тонколистового металу. Виховна: виховувати в учнів бережливе ставлення до інструментів та культуру праці. ...
10916. Совершенствование организации профессиональной подготовки и повышения квалификации государственных служащих (на примере УФНС России по Пермскому краю) 105.17 KB
  Выявить отличительные особенности профессиональной подготовки, повышения квалификации как вида дополнительного профессионального образования. Определить проблемы, возникающие в ходе реализации профессиональной подготовки и повышения квалификации. Выяснить какие методы совершенствования дополнительного профессионального образования существуют на данный момент. Определить какие методики по совершенствованию профессиональной подготовки существуют на данный момент.
10917. Дріт як конструкційний матеріал. Інструменти і пристосування для роботи з дротом 45.5 KB
  Тема уроку: Дріт як конструкційний матеріал. Інструменти і пристосування для роботи з дротом. Мета уроку: Засвоєння знань про технологічний процес виготовлення дроту його види властивості та галузі його застосування; формування практичних вмінь визначати твердість...
10918. Економічна та екологічна оцінка виробу 71 KB
  Тема уроку: Мета уроку: Засвоєння знань про оцінку виробу його відповідність технічному малюнку. Формування вмінь користуватися вимірювальними пристроями. Розвивати увагу уяву світогляд. Виховувати акуратність допитливість точність. Об'єкт навчальної діяльност...
10919. Припуски на обробку та економне використання тонколистового металу та дроту 64.5 KB
  Тема уроку: Припуски на обробку та економне використання тонколистового металу та дроту Мета уроку: Засвоєння знань про прийоми розмічання. Формування знань про прийоми розмічання заготовки виробу на листовому металі та підготовчі роботи до розмічання та вмінь коре