Разработка системы управления и автоматизации электронной доски объявлений

Автор работы: Пользователь скрыл имя, 20 Октября 2014 в 11:51, дипломная работа

Краткое описание

Цель работы – разработка системы управления и автоматизации электронной доски объявлений. В процессе работы был выполнен аналитический обзор средств размещения деловой информации в Интернете, программных средств их реализации.
В результате работы была создана программная среда, отвечающая всем требованиям современных технологий.

Содержание

ОПРЕДЕЛЕНИЯ, ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ 4
Определения 4
Сокращения 4
ВВЕДЕНИЕ 5
1 КРАТКИЕ СВЕДЕНИЯ О ДОСКЕ ОБЪЯВЛЕНИЙ 6
2 ВЫБОР СРЕДСТВ РАЗРАБОТКИ 7
2.1 Язык HTML 7
2.2 Каскадные таблицы стилей 9
2.3 Язык JavaScript 11
2.4 Web-сервер Apache 11
2.5 Язык PHP 12
2.6 Система управления базами данных MySQL 16
3 СТРУКТУРА САЙТА 17
3.1 Категории и подкатегории 17
3.2 Страницы добавления 17
3.3 Модуль администрирования 17
4 ДИЗАЙН 17
4.1 Интерфейс 18
4.2 Графика 19
4.3 Браузерная совместимость 22
5 КОНСТРУКТОРСКИЙ РАЗДЕЛ 23
5.1 Шаблон сайта 23
5.2 Раздел «Добавить объявление» 24
5.3 Раздел отображаемый при выборе какой-либо категории 26
5.4 Раздел «Администрирование» 27
ЗАКЛЮЧЕНИЕ 32
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 33

Прикрепленные файлы: 1 файл

Копия Бакалаврская.doc

— 1.22 Мб (Скачать документ)

 

А структура таблицы «board_cat» слудующая:

id - уникальный номер категории

root_category - здесь указывается 0 если категория является корневой  или id из board_cat что бы указать что  это подкатегория категории с уникальным номером id

name_cat - название категории

description - описание категории

img - картинка для категории


 

 

5.3 Раздел отображаемый при выборе какой-либо категории

Рис. 5.3.1. список категорий на сайте

 

Рис. 5.3.2. список объявлений в категории

 

5.4 Раздел «Администрирование»

Для того, что бы попасть в раздел администирования, нужно набраться в адресе http://board.ru/admin/

Появится форма ввода пароля:

Рис. 5.4.1 форма ввода пароля

Если пароль был введён правильно, то будет открыта система администрирования, на главной странице, которой, будут отображены новые объявления, которые ещё не были просмотрены администратором:

Рис. 5.4.2 новые объявления

 

Рис. 5.4.3 редактирование объявления в системе администрирования

 

Рис. 5.4.5 список категорий в системе администрирования

 

Рис. 5.4.6 список объявлений в категории, отображаемый в системе администрирования

 

Рис. 5.4.7 изменение категории в системе администрирования

 

Рис. 5.4.8 личные данные администратора в системе администрирования

 

Рис. 5.4.9 изменение личных данных администратора в системе администрирования

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЗАКЛЮЧЕНИЕ

 

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

Созданная система является сложным программным комплексом, построенным по технологии "клиент-сервер". Информация формируется динамически. Графическая оболочка сайта должна подстраиваться под различные разрешения экрана.

Разработка среды велась «с нуля», и на этапе проектирования было учтено множество пожеланий со стороны заказчика. Это позволило создать проект, максимально удовлетворяющий потребностям заказчика.

В результате проделанной работы был получен Web-сайт, полностью пригодный для размещения в глобальной сети Internet.

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

 

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

 

  1. Macromedia Dreamweaver MX [Электронный ресурс]: учебное пособие / Дронов В. – Электрон. дан. и прогр. – [Россия], [2004-2007]. – Режим доступа: http://www.vgi.volsu.ru
  2. JavaScript [Electronic resource]: Einfuehrung, Programmierung und Referenz / Stefan Koch. – Electronic data and program. – [German]: dpunkt.verlag, 1996-1997.  – Mode of access: http://rummelplatz.uni-mannheim.de/~skoch/js/
  3. Википедия [Электронный ресурс]: свободная энциклопедия. – Электрон. дан. – [Россия], [1999-2000]. – Режим доступа: http://ru.wikipedia.org
  4. MySQL. Одобрено лучшими российскими программистами [Электронный ресурс]: Справочное руководство по MySQL. – Электрон. дан. – [Россия], [2001-2002]. – Режим доступа: http://www.mysql.ru

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПРИЛОЖЕНИЕ А1. ФРАГМЕНТЫ КОДА, ОТВЕЧАЮЩИЕ ЗА ДИЗАЙН WEB-САЙТА

Приложение А.1.1 Файлы itop.inc.php и foot.inc.php

<?

require_once("mysql.php");

require_once("func.php");

require_once("admin/config.php");

?>

<html>

<head>

<title>

<? if(isset($title)) echo $title; else echo "test1.ru"; ?>

</title>

<meta http-equiv="Content-Language" content="ru">

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

<meta content="index, follow, all" name="robots">

<meta content="5 days" name="revisit-after">

<meta name="keywords" content="<? if(isset($keywords)) echo $keywords; else echo "test1.ru"; ?>">

<meta name="description" content="<? if(isset($description)) echo $description; else echo "test1.ru"; ?>">

<LINK REL=STYLESHEET TYPE="text/css" HREF="<? echo"http://";echo $_SERVER['HTTP_HOST'];echo"/"; ?>images/style.css">

</head>

<body onLoad="loadclock()">

<table width="100%" align="center" border="0" cellpadding="0" cellspacing="10" bgcolor="#FFFFFF">

  <tr>

<td width="75%" valign="top">

<?

if (date(H) >= "5" && date(H) < "12") $now = "Доброе утро";

if (date(H) >= "12" && date(H) < "19") $now = "Добрый день";

if (date(H) >= "19" && date(H) <= "23") $now = "Добрый вечер";

if (date(H) >= "0"  && date(H) < "5") $now = "Доброй ночи";

 

if (isset($_ENV['USERNAME']) && !empty($_ENV['USERNAME'])) echo "<font size=\"-1\" class=gray>".$now." ".$_ENV['USERNAME']."</font>";

else echo "<font size=\"-1\" class=gray>".$now."</font>";

 

?><font size="-1" class=gray>, Сегодня 

<SCRIPT language=JavaScript>

 

function makeArray() {

var args = makeArray.arguments;

for (var i = 0; i < args.length; i++) {

this[i] = args[i];

}

this.length = args.length;

}

 

function fixDate(date) {

var base = new Date(0);

var skew = base.getTime();

if (skew > 0)

date.setTime(date.getTime() - skew);

}

 

function getString(date) {

var months = new makeArray("Января", "Февраля", "Марта",

"Апреля", "Мая", "Июня",

"Июля", "Августа", "Сентября",

"Октября", "Ноября", "Декабря");

 

return date.getDate()+ " " + months[date.getMonth()];

}

 

var cur = new Date();

fixDate(cur);

var str = getString(cur);

document.write(str);

 

</SCRIPT>, </font>

<script>

<!--

function show2(){

var Digital=new Date()

var hours=Digital.getHours()

var minutes=Digital.getMinutes()

var seconds=Digital.getSeconds()

var dn=""

if (hours>24){

dn=""

hours=hours-24

}

if (hours==0)

hours=24

if (minutes<=9)

minutes="0"+minutes

if (seconds<=9)

seconds="0"+seconds

var ctime="<font face='Verdana' size='-2'>"+hours+":"+minutes+":"+seconds+" "+dn+"</font>"

if (!document.all)

document.write(ctime)

else

tick2.innerHTML=ctime

}

function loadclock(){

if (document.all)

setInterval("show2()",1000)

}

if (!document.all)

show2()

//-->

</script>

<span id=tick2></span>

</td>

 

    <td width="25%" align="right" valign="top">&nbsp; <a href="Добавить в избранное" onClick="window.external.addFavorite('<? echo "http://".$_SERVER['HTTP_HOST']; ?>/','test1.ru');return false;" title="Добавить в избранное">В избранное</a>&nbsp; <a href="<? echo "http://".$_SERVER['HTTP_HOST']; ?>/" title="На главную">На главную</a></td>

 

  </tr>

</table>

 

<table width="100%" align="center" bgcolor="#F4F4F4" border="0" cellpadding="0" cellspacing="10">

<tr>

<td>

<center><strong class=\"dark_red b up\"><h1>Доска бесплатных  объявлений!</h1></strong></center>

</td>

  <td><div align="right">

      <form method=post action="http://<? echo $_SERVER['HTTP_HOST'] ?>/search/">

        <span class="gray b">Поиск: </span><input type=text size=26 name=search_word>

        <input name=search_in value=title type=hidden>

        <input type=submit value=Искать>

      </form>

    </div></td>

</tr>

</table>

<TABLE WIDTH="100%"  align="center" BORDER="0">

<TR>

  <TD valign="top"><table width="100%" border="0" align="center" cellpadding="0" cellspacing="20">

    <tr>

      <td width="25%" valign="top" style="padding-bottom:5px; padding-left:5px; padding-right:5px">

 

</td>

</tr>

</table>

 

</td>

</tr>

</table>

 

</TD>

</TR>

</TABLE>

<table width="100%">

<TR>

<TD valign="top" class="copy" height="1"><hr color="F5F5F5" width="100%" />

      <div align="center"><? echo "<span class=up>&copy; ".$_SERVER['HTTP_HOST']." ".date("Y")."<span>"; ?></div></TD>

  </TR>

</TABLE>

</BODY>

</HTML> 

Приложение А.1.2 Листинг страниц сайта, относящихся к разделу вывода списка категорий, подкатегорий, а так же объявлений. Файл sboard

<?

include("mysql.php");

include("func.php");

include("admin/config.php");

$time_now = time ();

$a = mysql_query ("SELECT * from board WHERE ".$time_now." > ((time_delete * 86400) + time) ORDER by id");

$b = mysql_num_rows($a);

while($qwe = mysql_fetch_array($a))

$data_udaleniya_iz_bazy = $qwe['time_delete'] * 86400 + $qwe['time'];

if (time () > $data_udaleniya_iz_bazy)

{

$del_sus = mysql_query ("DELETE from board LIMIT 1");

}

else {}

}

if (!empty($_GET['id_cat']) && intval($_GET['id_cat']) > 0 && !empty($_GET['id_mess']) && intval($_GET['id_mess']) > 0)

$hits =  mysql_query("UPDATE board SET hits = hits + 1 WHERE id=".$_GET['id_mess']."");

 

$query = mysql_query("SELECT A.id as board_id, A.*, B.*

FROM board as A, board_cat as B

WHERE A.id = ". $_GET['id_mess']."

AND B.id = ". $_GET['id_cat']."");          if (mysql_num_rows ($query) > 0)

{

while($message = mysql_fetch_array($query))

 

$message['title'] = str_replace("'","&quot", $message['title']);

$message['title'] = str_replace("`","&quot", $message['title']);

 

$title = $message['title'];

$keywords = $message['title'];

$description = $message['name_cat']." | Заголовок: ".$message['title'];

include("design/itop.inc.php");

 

echo "<table width=98% border=1 bordercolor=#EEEEEE bgcolor=#FAFAFA cellpadding=5 cellspacing=2 align=center><tr valign=middle title='".$message['title']."'><td align=center>";

echo"<table border=0 width=100%><tr>";

echo "<td align=center><font class=small>Категория: <a href= \"http://". $_SERVER['HTTP_HOST'] ."/board/". $_GET['id_cat']."/\" title = \"Категория: ".$message['name_cat']."\">".$message['name_cat']."</a></font></td>";

if ($message['type'] == "P") {$type = "&nbsp;Предложение&nbsp;";} else $type = "&nbsp;Спрос&nbsp;";

echo "<td align=center><font size=2 color=#888888>Тип объявления: ".$type."</font></td>";

$time_actual = (($message['time'] + $message['time_delete'] * 86400) - time()) / 86400 + 1;

echo "</tr></table><br>";

 

echo "<strong class=up title='".$message['title']."'><h4>".$message['title']."</h4></strong>";

 

echo"<table border=0 width=100%><tr>";

$date = date("d.m.y", $message['time']);

echo "<font  class=small>Дата  добавления: ".$date."<br>";

echo "Объявление актуально  еще <strong>".intval($time_actual)."</strong> дн.</font><br />";

echo "<strong>Автор: ".$message['autor']."</strong>";

echo "</tr></table><br>";

 

echo"<table border=0 width=90% bgcolor=#FFFFFF cellpadding=15 cellspacing=12 ><tr>";

echo "<td title='".$message['text']."'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font class=b>Содержание объявления: </font>".$message['text']."</td>";

echo "</tr></table><br>";

echo"<table border=0 width=100%><tr>";

if ($message['phone'] || $message['address'] || $message['email']) {echo "<td><strong>&nbsp;Контакты  автора:&nbsp; </strong>";} else { echo "Автор  не указал контакты...";}

if ($message['phone']) {echo "<strong>Тел.: </strong>".$message['phone'].". ";} else { echo "";}

if ($message['address']) {echo "<strong>Адрес: </strong>".$message['address'].". ";} else { echo "";}

if ($message['email']) {echo "<strong>E-mail: </strong><a href=\"mailto:".$message['email']."\" title=\"E-mail автора\">".$message['email']."</a>. ";} else { echo "";}

if ($message['phone'] || $message['address'] || $message['email']) {echo "</td>";} else { echo "";}

echo "</tr></table>";

echo "</td></tr></table>";

}

}

else

{

$title = "Доска объявлений";

$keywords = "Доска объявлений.";

$description = "Доска объявлений";

include("design/itop.inc.php"); // выводим шапчёнку

echo "<strong><center>Нет  запрашиваемых данных.</center></strong><br><br><br>";

echo "<a href=\"http://". $_SERVER['HTTP_HOST'] ."/board/add/\" title=\"Добавить объявление\"><center>Добавить  объявление</a> | ";

echo "<a href=\"http://". $_SERVER['HTTP_HOST'] ."/board/\" title=\"На главную страницу Доски объявлений\">На главную страницу Доски объявлений</a></center><br>";

exit();

}

}

elseif (!empty($_GET['id_cat']) && intval($_GET['id_cat']) > 0 && empty($_GET['id_mess']) )

$query = mysql_query("SELECT *

FROM board as A, board_cat as B

WHERE A.id_category = B.id

AND A.id_category = ".  intval($_GET['id_cat'])."");

 

if (mysql_num_rows ($query) > 0)

{

$echo_cat = mysql_fetch_array($query);

 

$num = mysql_num_rows ($query);

@$start = page_list ($_GET['page'], $num, $COUNT_SHOW_BOARD);

 

$query = mysql_query("SELECT A.id as board_id, A.*, B.* FROM board as A, board_cat as B WHERE A.id_category = B.id AND A.id_category = ". $_GET['id_cat']." AND A.checkbox_top > 0 ORDER by time DESC LIMIT $start, $COUNT_SHOW_BOARD");

 

$title = "Доска объявлений | Категория ".$echo_cat['name_cat'];

$keywords = "Доска объявлений. Категория ".$echo_cat['name_cat']." | ".$echo_cat['description'];

$description = "Доска объявлений | Категория ".$echo_cat['description'];

include("design/itop.inc.php");

echo "<a href=\"http://". $_SERVER['HTTP_HOST'] ."/board/add/\" title=\"Добавить объявление\"><center>Добавить  объявление</a> | ";

echo "<a href=\"http://". $_SERVER['HTTP_HOST'] ."/board/\" title=\"Вернуться на главную страницу Доски объявлений\">Вернуться</a> на главную страницу Доски объявлений</center><br>";

 

echo"<div align=center>";

echo "Категория: <a href = \"http://". $_SERVER['HTTP_HOST'] ."/board/".$echo_cat['id_category']."/\">".$echo_cat['name_cat']."</a> | Всего объявлений в данной категории: [".$num."]";

echo "</div><br><br>";

 

while($top_board = mysql_fetch_array($query))

{

echo"<table style=\"BORDER-BOTTOM: #FF9900 2px dashed; border-top: #FF9900 2px dashed\" width=90% bordercolor=#990000 bgcolor=#FFFEF4 align=center border=0 cellpadding=\"0\" cellspacing=\"10\">

<tr  title='".$top_board['title']."'>

<td width=5%><img src=\" http://". $_SERVER['HTTP_HOST'] ."/images/att.gif\" alt=\"Статус: Прикрепленное объявление\"></td>

Информация о работе Разработка системы управления и автоматизации электронной доски объявлений