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

Автор работы: Пользователь скрыл имя, 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 Мб (Скачать документ)

{

$categories = mysql_query("SELECT A.id_category AS mess_id_category, B. * FROM board as A, board_cat as B WHERE B.root_category = $id");

while($category = mysql_fetch_array($categories))

for($i = 0; $i < $sub; $i++) echo "";

 

echo "<option value=".$category['id']."".( $category['id'] == $category['mess_id_category'] ? " selected " : "" ).">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".$category['name_cat']."<br>";

subcategory($category['id'], $sub+1);

}

}

 

$categories = mysql_query("SELECT * FROM board_cat WHERE root_category = 0");

while($category = mysql_fetch_array($categories))

{

$sub = 1;

echo "<option value=".$category['id'].">".$category['name_cat']."<br>";

subcategory($category['id'], $sub);

}

echo "</select><br /><br />

 

<input type=submit value=ИЗМЕНИТЬ> 

</form>

</td>

</tr>

</table>

";

}

elseif(@$_GET['op'] == "drop_category")

{

$delete_category = mysql_query("DELETE FROM board_cat WHERE id = ". $_GET['id_cat']);

$delete_subcategory_in_category = mysql_query("DELETE FROM board_cat WHERE root_category = ". $_GET['id_cat']);

$delete_message_in_category = mysql_query("DELETE FROM board WHERE id_category = ". $_GET['id_cat']);

 

if ($delete_category)

{

echo "<center><strong>Категория  успешно удалена</strong></center>

<SCRIPT LANGUAGE=javascript>history.back()</SCRIPT>";

}

else

{

echo "<center><strong>Не  удалось удалить категорию!</strong></center>";

}

}

elseif (@$_GET['op'] == "edit_category")

{

if( isset($_POST['name_cat']) && $_POST['name_cat'] !="") mysql_query("UPDATE board_cat SET name_cat = '".$_POST['name_cat']."', description = '".$_POST['description']."', img = '".$_POST['img']."', root_category = '".$_POST['id_category']."' WHERE id = ".$_GET['id_cat']."");

 

$result = mysql_query("SELECT * FROM board_cat WHERE id = ". $_GET['id_cat']);

$rows = mysql_num_rows($result);

$line = mysql_fetch_array($result);

 

echo "

<table cellspacing=2 cellpadding=2 border=0 width=70%>

    <tr align=right>

<td>

<FORM ACTION=\"http://". $_SERVER['HTTP_HOST'] ."/admin/board/$id_cat/edit_category/\" METHOD=POST>

Название: <input type=text size=50  name=name_cat value=\"".$line['name_cat']."\"><br /><br />

Описание: <input type=text size=50  name=description value=\"".$line['description']."\"><br /><br />

Название иконки категории: <input type=text size=50  name=img value=\"".$line['img']."\"><br /><br />

Выберите категорию: <select name=id_category>";

 

echo "<option value=\"0\">--------  Корневая директория  -----</option>";

function subcategory($id, $sub)

{

$categories = mysql_query("SELECT * FROM board_cat WHERE root_category = $id");

while($category = mysql_fetch_array($categories))

for($i = 0; $i < $sub; $i++) echo "";

          echo "<option value=".$category['id'] . ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".$category['name_cat']."<br>";

subcategory($category['id'], $sub+1);

}

}

 

$categories = mysql_query("SELECT * FROM board_cat WHERE root_category = 0");

while($category = mysql_fetch_array($categories))

{

$sub = 1;

echo "<option value=".$category['id'].">".$category['name_cat']."<br>";

subcategory($category['id'], $sub);

}

echo "</select><br /><br />

<input type=submit value=Изменить> 

</form>

</td>

</tr>

</table>";

}

elseif (@$_GET['op'] == "mark_all")

{

$mark = mysql_query("UPDATE board SET old_mess = 'old' WHERE old_mess = 'new'");

echo "<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='2; URL=http://". $_SERVER['HTTP_HOST'] ."/admin/board/'></HEAD></HTML>";

echo "<br /><br /><center><strong>Обновление  успешно завершено</strong></center>";

}

elseif (@$_GET['op'] == "add_category")

{

if( isset($_POST['name_cat']) && $_POST['name_cat'] !="")

{

$query = mysql_query("INSERT board_cat SET name_cat = '".$_POST['name_cat']."', description = '".$_POST['description']."', img = '".$_POST['img']."', root_category = '".$_POST['id_category']."'");

 

if($query)

{

echo "<center><strong>Категория  добавлена</strong></center>";

}

else

{

exit("Ошибка при добавлении категории");

}

}

else

{

echo "<table cellspacing=2 cellpadding=2 border=0 width=70%><tr align=right><td>

<FORM ACTION=\"http://". $_SERVER['HTTP_HOST'] ."/admin/board/add_category/\" METHOD=POST>

Название: <input type=text size=50  name=name_cat value=\"\"><br /><br />

Описание: <input type=text size=50  name=description value=\"\"><br /><br />

Название иконки категории: <input type=text size=50  name=img value=\"\"><br /><br />

Выберите категорию: <select name=id_category>";

 

echo "<option value=\"0\">--------  Корневая директория  -----</option>";

function subcategory($id, $sub)

{

$categories = mysql_query("SELECT * FROM board_cat WHERE root_category = $id");

while($category = mysql_fetch_array($categories))

for($i = 0; $i < $sub; $i++) echo "";

   echo "<option value=\"".$category['id']."\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".$category['name_cat']."<br>";

subcategory($category['id'], $sub+1);

}

}

 

$categories = mysql_query("SELECT * FROM board_cat WHERE root_category = 0");

while($category = mysql_fetch_array($categories))

{

$sub = 1;

echo "<option value=\"".$category['id']."\">".$category['name_cat']."<br>";

subcategory($category['id'], $sub);

}

echo "</select><br /><br />

 

 

<input type=submit value=Добавить категорию style=\"border:1px solid red;\"></form></td></tr></table>";

}

}

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 = ". $_GET['id_cat']." ORDER by time DESC");

$num = mysql_num_rows ($query);

echo "<strong>Количество  объявлений:</strong> ".$num."<br><br>";

@$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']." ORDER by time DESC LIMIT $start, $COUNT_SHOW_BOARD");

 

while($board = mysql_fetch_array($query))

echo "Автор: ".$board['autor']."<br>";

$date = date("d.m.y", $board['time']); echo "Дата  добавления: ".$date."<br>";

echo "Заголовок объявления: <b>".$board['title']."</b><br>";

echo "<a href =\" http://". $_SERVER['HTTP_HOST'] ."/board/category/".$board['id_category']."/message/".$board['board_id']."/\">Подробнее...</a><br>";

 

echo "<BR><a href =\" http://". $_SERVER['HTTP_HOST'] ."/admin/board/".$board['id_category']."/".$board['board_id']."/edit_message/\">Редактировать объявление</a> | ";

echo "<a href =\" http://". $_SERVER['HTTP_HOST'] ."/admin/board/".$board['id_category']."/".$board['board_id']."/drop_message/\">Удалить  объявление</a><hr width=100%>";

}

$path_to_page = "admin/board";

@show_page_list($_GET['page'], $num, $COUNT_SHOW_BOARD, $_GET['id_cat'], $path_to_page);

}

else

{

$new_mes = mysql_query("SELECT * FROM board WHERE old_mess = 'new' ORDER by time DESC");

$num_mess_new = mysql_num_rows(mysql_query("SELECT * FROM board WHERE old_mess = 'new' ORDER by time DESC"));

 

if ($num_mess_new != "0")

{

echo "<table border=1 width=90% align=center cellspacing=0 cellpadding=10 bordercolor=#EEEEEE>

<tr bgcolor=#CCCCCC align=center >

<td width=33%>Заголовок объявления</td>

<td width=33%>Категория объявления</td>

<td width=20%>Действие</td>

</tr>";

while($new_message = mysql_fetch_array($new_mes))

{

echo "<tr>";

echo"<td>".$new_message['title']."</td>";

echo "<td>";

$cat = mysql_query("SELECT * FROM board_cat WHERE id = ".$new_message['id_category']."");

$cat_message = mysql_fetch_array($cat);

echo $cat_message['name_cat']."</td>";

 

echo "<td align=center>

<a href =\" http://". $_SERVER['HTTP_HOST'] ."/admin/board/".$cat_message['id']."/".$new_message['id']."/edit_message/\"><img border=0 src=\"http://". $_SERVER['HTTP_HOST'] ."/images/edit.gif\"></a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

<a href =\" http://". $_SERVER['HTTP_HOST'] ."/admin/board/".$cat_message['id']."/".$new_message['id']."/drop_message/\"><img border=0 src=\"http://". $_SERVER['HTTP_HOST'] ."/images/drop.gif\"></a>

</td>";

echo "</tr>";

}

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

 

echo "";

echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href =\" http://". $_SERVER['HTTP_HOST'] ."/admin/board/mark_all/\"><strong style=\"background-color:#EEEEEE; color:#000000\"><center>&nbsp;&nbsp;&nbsp;Пометить все объявления, как старые&nbsp;&nbsp;&nbsp;</strong></center></a>";  

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

}

else

{

echo "<strong><center>Нет свежих объявлений</center></strong><br />";

echo " <table border=1 width=90% align=center cellspacing=0 cellpadding=10 bordercolor=#EEEEEE>";

function subcategory($id, $sub)

{

$categories = mysql_query("SELECT * FROM board_cat WHERE root_category = $id");

while($category = mysql_fetch_array($categories))

$num_mess = 0;

$num_mess = mysql_numrows(mysql_query("SELECT * FROM board WHERE id_category = ".$category['id']));

 

echo "<tr><td>";

for($i = 0; $i < $sub; $i++) echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";

echo "<a href=\"http://". $_SERVER['HTTP_HOST'] ."/admin/board/".$category['id']."\"> - ".$category['name_cat']."</a> [$num_mess]

</td>

<td align=center> 

<a href =\" http://". $_SERVER['HTTP_HOST'] ."/admin/board/".$category['id']."/edit_category/\"><strong  style=\"background-color:#EEEEEE\">&nbsp;&nbsp;&nbsp;Редактировать&nbsp;&nbsp;&nbsp;</strong></a> |

<a href =\" http://". $_SERVER['HTTP_HOST'] ."/admin/board/".$category['id']."/drop_category/\"><strong   style=\"background-color:#CC0000; color:#FFFFFF\">&nbsp;&nbsp;&nbsp;Удалить&nbsp;&nbsp;&nbsp;</strong></a><BR>

</td></tr>";

subcategory($category['id'], $sub+1);

}

}

 

$categories = mysql_query("SELECT * FROM board_cat WHERE root_category = 0");

 

while($category = mysql_fetch_array($categories))

{

$num_mess = 0;

$num_mess = mysql_numrows(mysql_query("SELECT * FROM board WHERE id_category = ".$category['id']));

 

$sub = 1;

echo "<tr><td>

<a href=\"http://". $_SERVER['HTTP_HOST'] ."/admin/board/".$category['id']."/\"><strong>".$category['name_cat']."</strong></a> [$num_mess]

</td>

<td align=center>

<a href =\" http://". $_SERVER['HTTP_HOST'] ."/admin/board/".$category['id']."/edit_category/\"><strong   style=\"background-color:#EEEEEE\">&nbsp;&nbsp;&nbsp;Редактировать&nbsp;&nbsp;&nbsp;</strong></a> |

<a href =\" http://". $_SERVER['HTTP_HOST'] ."/admin/board/".$category['id']."/drop_category/\"><strong   style=\"background-color:#CC0000; color:#FFFFFF\">&nbsp;&nbsp;&nbsp;Удалить&nbsp;&nbsp;&nbsp;</strong></a><BR>

</td></tr>";

subcategory($category['id'], $sub);

}

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

echo "<a href =\" http://". $_SERVER['HTTP_HOST'] ."/admin/board/add_category/\"><strong style=\"background-color:#CC0000; color:black;\"><center>&nbsp;&nbsp;&nbsp;Добавить категорию&nbsp;&nbsp;&nbsp;</strong></center></a>";


ПРИЛОЖЕНИЕ Б1. ЛИСТИНГ СТРАНИЦ САЙТА, ОТНОСЯЩИХСЯ К ДОБАВЛЕНИЮ И ПОИСКУ ОБЪЯВЛЕНИЙ

Приложение Б.1.1 скрипт для добавления объявления Файл saddboard.php

<?

session_start();

session_register('scd');

include("mysql.php");

include("func.php");

include("admin/config.php");

 

$errors = 0;

if(isset($HTTP_POST_VARS['securityCode']) && (isset($HTTP_SESSION_VARS['securityCode']) || isset($_SESSION['securityCode'])))

{

    if(strtolower($HTTP_POST_VARS['securityCode'])==$HTTP_SESSION_VARS['securityCode'] || strtolower($HTTP_POST_VARS['securityCode'])==$_SESSION['securityCode'])

{

$errors = 0;

}

else

{

$errors = 1;

echo "<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='4; URL=http://". $_SERVER['HTTP_HOST'] ."/board/add/'></HEAD></HTML>";

echo "<br /><br /><center><strong>Введите правильно  то, что вы увидите на картинке  с защитным кодом!</strong></center>";

die ();

}

}

 

if($_POST['autor']  == ""){ $errors = 1; echo "<center>Незаполнено поле \"Автор\"</center><BR>";}

if($_POST['title']  == ""){ $errors = 1; echo "<center>Незаполнено поле \"Заголовок объявления\"</center><BR>";}

if($_POST['text']  == ""){ $errors = 1; echo "<center>Незаполнено поле \"Текст объявления\"</center>";}

if($_POST['email']  != ""){ if (!preg_match('/^[-0-9a-z_]+@([-0-9a-z_]+\.)+[a-z]{2,6}$/i',$_POST['email'])) {$errors = 1;}}

 

 

if ($errors != 0)

{

echo "<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='3; URL=http://". $_SERVER['HTTP_HOST'] ."/board/add/'></HEAD></HTML>";

echo "<center><strong>Вернитесь  и правильно заполните все  обязательные поля формы!</strong></center>";

die ();

}

if ($errors == 0)

{

$id_category = intval($_POST['id_category']);

$autor    = htmlspecialchars(substr($_POST["autor"],0,40));

$title    = htmlspecialchars(substr($_POST['title'], 0, 100));

$address  = htmlspecialchars(substr($_POST['address'], 0, 100));

$phone    = htmlspecialchars(substr($_POST['phone'], 0, 80));

$time_delete  = intval($_POST['time_delete']);

$text   = nl2br(htmlspecialchars(substr($_POST['text'], 0, 500)));

$email    = substr($email, 0, 50);

 

 

if ($errors != 1)

{

if (!get_magic_quotes_gpc())

{

$autor = mysql_escape_string($autor);

$title = mysql_escape_string($title);

$address = mysql_escape_string($address);

$phone = mysql_escape_string($phone);

$email = mysql_escape_string($email);

$text = mysql_escape_string($text);

}

else

{

$autor = str_replace("'","`",$autor);

$title = str_replace("'","`",$title);

$address = str_replace("'","`", $address);

$phone = str_replace("'","`",$phone);

$email = str_replace("'","`",$email);

$text = str_replace("'","`",$text);

}

}

else

{

echo "Ошибочка при внесении данных в базу. Попробуйте еще раз...<br />";

}

 

$query = "INSERT board (id_category,

autor,

title,

email,

address,

phone,

text,

type,

time,

time_delete

) VALUES (

'".$id_category."',

'".$autor."',

'".$title."',

'".$email."',

'".$address."',

'".$phone."',

'".$text."',

'".$_POST['type']."',

'".time()."',

'".$time_delete."'

)";

$result = mysql_query($query);

 

if($result)

{

$title = "Объявление добавлено";

$keywords = "Доска бесплатных объявлений";

$description = "Доска бесплатных объявлений. Спрос и предложения. Поиск работы и вакансии. Недвижимость. Мебель и интерьер. Досуг и отдых.";

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

 

echo "<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='1; URL=http://". $_SERVER['HTTP_HOST'] ."/board/".$_POST['id_category']."/'></HEAD><br /><center><strong>Объявление добавлено</strong></center></HTML>";

}

else

{

exit("Ошибка при добавлении объявления");

}

}

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

?> 
Приложение Б.1.2 Файл ssearch.php – скрипт для поиска объявлений

<?

setlocale(LC_ALL,'ru_RU.CP1251');

$title = "Поиск по сайту";

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

 

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