Автор работы: Пользователь скрыл имя, 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
{
$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 " : "" )."> &
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'].">".$
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_
$delete_message_in_category = mysql_query("DELETE FROM board WHERE id_category = ". $_GET['id_cat']);
if ($delete_category)
{
echo "<center><strong>Категория
успешно удалена</strong></
<SCRIPT
LANGUAGE=javascript>history.
}
else
{
echo "<center><strong>Не
удалось удалить категорию!</
}
}
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_
Название:
<input type=text size=50 name=name_cat value=\"".$line['name_cat']."\
Описание:
<input type=text size=50
name=description value=\"".$line['description']
Название иконки категории: <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']
. "> &
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'].">".$
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></
}
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']."\">
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']."\">
subcategory($category['id'], $sub);
}
echo "</select><br /><br />
<input
type=submit value=Добавить категорию style=\"border:1px
solid red;\"></form></td></tr></
}
}
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['
echo "<BR><a
href =\" http://". $_SERVER['HTTP_HOST'] ."/admin/board/".$board['id_
echo "<a
href =\" http://". $_SERVER['HTTP_HOST'] ."/admin/board/".$board['id_
}
$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("
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['
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']."</
echo "<td align=center>
<a
href =\" http://". $_SERVER['HTTP_HOST'] ."/admin/board/".$cat_message[
<a
href =\" http://". $_SERVER['HTTP_HOST'] ."/admin/board/".$cat_message[
</td>";
echo "</tr>";
}
echo "</table><br />";
echo "";
echo " &
echo "<br /><br />";
}
else
{
echo "<strong><center>Нет
свежих объявлений</center></strong><
}
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("
echo "<tr><td>";
for($i
= 0; $i < $sub; $i++) echo " &
echo "<a
href=\"http://". $_SERVER['HTTP_HOST'] ."/admin/board/".$category['
</td>
<td align=center>
<a
href =\" http://". $_SERVER['HTTP_HOST'] ."/admin/board/".$category['
<a
href =\" http://". $_SERVER['HTTP_HOST'] ."/admin/board/".$category['
</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("
$sub = 1;
echo "<tr><td>
<a
href=\"http://". $_SERVER['HTTP_HOST'] ."/admin/board/".$category['
</td>
<td align=center>
<a
href =\" http://". $_SERVER['HTTP_HOST'] ."/admin/board/".$category['
<a
href =\" http://". $_SERVER['HTTP_HOST'] ."/admin/board/".$category['
</td></tr>";
subcategory($category['id'], $sub);
}
echo "</table><br /><br /><br />";
echo "<a
href =\" http://". $_SERVER['HTTP_HOST'] ."/admin/board/add_category/\"
}
ПРИЛОЖЕНИЕ
Б1. ЛИСТИНГ СТРАНИЦ САЙТА, ОТНОСЯЩИХСЯ
К ДОБАВЛЕНИЮ И ПОИСКУ ОБЪЯВЛЕНИЙ
<?
session_start();
session_register('scd');
include("mysql.php");
include("func.php");
include("admin/config.php");
$errors = 0;
if(isset($HTTP_POST_VARS['
{
if(strtolower($HTTP_POST_VARS[
{
$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>Введите
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_]+@([
if ($errors != 0)
{
echo "<HTML><HEAD><META
HTTP-EQUIV='Refresh' CONTENT='3; URL=http://". $_SERVER['HTTP_HOST'] ."/board/add/'></HEAD></HTML>"
echo "<center><strong>Вернитесь
и правильно заполните все
обязательные поля формы!</
die ();
}
if ($errors == 0)
{
$id_category = intval($_POST['id_category']);
$autor = htmlspecialchars(substr($_
$title = htmlspecialchars(substr($_
$address = htmlspecialchars(substr($_
$phone = htmlspecialchars(substr($_
$time_delete = intval($_POST['time_delete']);
$text = nl2br(htmlspecialchars(substr(
$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_
}
else
{
exit("Ошибка при добавлении объявления");
}
}
include("design/foot.inc.php")
?>
Приложение
Б.1.2 Файл ssearch.php – скрипт для поиска объявлений
<?
setlocale(LC_ALL,'ru_RU.
$title = "Поиск по сайту";
include("design/itop.inc.php")
Информация о работе Разработка системы управления и автоматизации электронной доски объявлений