$num = mysql_num_rows ($query); «<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»);
($board = mysql_fetch_array($query))
{«Автор:».$board['autor']. «<br>»;
$date = date («d.m.y», $board['time']); echo «Дата добавления:».$date. «<br>»;«Заголовок объявления: <b>».$board['title']. «</b><br>»;«<a href =\» http:// ». $_SERVER ['HTTP_HOST']. "/board/category/».$board ['id_category']. "/message/».$board ['board_id']. "/\">Подробнее…</a><br>»;
«<BR><a href =\» http:// ». $_SERVER ['HTTP_HOST']. "/admin/board/».$board ['id_category']. "/».$board ['board_id']. "/edit_message/\">Редактировать объявление</a> |»;«<a href =\» http:// ». $_SERVER ['HTTP_HOST']. "/admin/board/».$board ['id_category']. "/».$board ['board_id']. "/drop_message/\">Удалить объявление</a><hr >»;
}
$path_to_page = «admin/board»;
@show_page_list ($_GET['page'], $num, $COUNT_SHOW_BOARD, $_GET ['id_cat'], $path_to_page);
}
{
$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»));
($num_mess_new!= «0»)
{«<table border=1 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))
{«<tr>»;»<td>».$new_message['title']. «</td>»;«<td>»;
$cat = mysql_query («SELECT * FROM board_cat WHERE id =».$new_message ['id_category']. "»);
$cat_message = mysql_fetch_array($cat);$cat_message ['name_cat']. «</td>»;
«<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>
<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>»;«</tr>»;
}«</table><br />»;
«»;« <a href =\» http:// ». $_SERVER ['HTTP_HOST']. "/admin/board/mark_all/\"><strong style=\ «background-color:#EEEEEE; color:#000000\"><center> Пометить все объявления, как старые </strong></center></a>»; «<br /><br />»;
}
{«<strong><center>Нет свежих объявлений</center></strong><br />»;
} «<table border=1 align=center cellspacing=0 cellpadding=10 bordercolor=#EEEEEE>»;subcategory ($id, $sub)
{
$categories = mysql_query («SELECT * FROM board_cat WHERE root_category = $id»);($category = mysql_fetch_array($categories))
{
$num_mess = 0;
$num_mess = mysql_numrows (mysql_query («SELECT * FROM board WHERE id_category =».$category['id']));
«<tr><td>»;($i = 0; $i < $sub; $i++) 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\»> Редактировать </strong></a> |
<a href =\» http:// ». $_SERVER ['HTTP_HOST']. "/admin/board/».$category['id']. "/drop_category/\"><strong style=\ «background-color:#CC0000; color:#FFFFFF\»> Удалить </strong></a><BR>
</td></tr>»;($category['id'], $sub+1);
}
}
$categories = mysql_query («SELECT * FROM board_cat WHERE root_category = 0»);
($category = mysql_fetch_array($categories))
{
$num_mess = 0;
$num_mess = mysql_numrows (mysql_query («SELECT *
FROM board WHERE id_category =».$category['id']));
$sub = 1;«<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\»> Редактировать </strong></a> |
<a href =\» http:// ». $_SERVER ['HTTP_HOST']. "/admin/board/».$category['id']. "/drop_category/\"><strong style=\ «background-color:#CC0000; color:#FFFFFF\»> Удалить </strong></a><BR>
</td></tr>»;($category['id'], $sub);
}«</table><br /><br /><br
/>»; «<a href =\» http:// ». $_SERVER ['HTTP_HOST'].
"/admin/board/add_category/\"><strong style=\
«background-color:#CC0000;
color:black;\"><center> Добавить
категорию </strong></center></a>»;
Приложение Б
Листинг страниц сайта, относящихся к добавлению и
поиску объявлений
<?_start();_register('scd');(«mysql.php»);(«func.php»);(«admin/config.php»);
$errors = 0;(isset($HTTP_POST_VARS['securityCode']) && (isset ($HTTP_SESSION_VARS['securityCode']) || isset ($_SESSION['securityCode'])))
{(strtolower($HTTP_POST_VARS['securityCode'])==$HTTP_SESSION_VARS['securityCode'] || strtolower ($HTTP_POST_VARS['securityCode'])==$_SESSION['securityCode'])
{
$errors = 0;
}
{
$errors = 1;«<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='4; URL=http:// ». $_SERVER ['HTTP_HOST']. "/board/add/'></HEAD></HTML>»;«<br /><br /><center><strong>Введите правильно то, что вы увидите на картинке с защитным кодом!</strong></center>»;();
}
}
($_POST['autor'] == «») {$errors = 1; echo «<center>Незаполнено поле \«Автор\ «</center><BR>»;}($_POST['title'] == «») {$errors = 1; echo «<center>Незаполнено поле \«Заголовок объявления\ «</center><BR>»;}($_POST['text'] == «») {$errors = 1; echo «<center>Незаполнено поле \«Текст объявления\ «</center>»;}($_POST['email'] != «») {if (! preg_match ('/^[-0-9a-z_]+@([-0-9a-z_]+\.)+[a-z] {2,6}$/i',$_POST['email'])) {$errors = 1;}}
($errors!= 0)
{«<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='3; URL=http:// ». $_SERVER ['HTTP_HOST']. "/board/add/'></HEAD></HTML>»;«<center><strong>Вернитесь и правильно заполните все обязательные поля формы!</strong></center>»;();
}($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);
($errors!= 1)
{(! 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);
}
{
$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,,,,,,,,,_delete
) VALUES (
'».$id_category. "',
'».$autor. "',
'».$title. "',
'».$email. "',
'».$address. "',
'».$phone. "',
'».$text. "',
'».$_POST['type']. "',
'».time(). "',
'».$time_delete. "'
)»;
$result = mysql_query($query);
($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
{
}
}(«design/foot.inc.php»);
?>
Файл ssearch.php - скрипт для поиска объявлений
<?(LC_ALL, 'ru_RU.CP1251');
$title = «Поиск по сайту»;(«design/itop.inc.php»);
(isset($_POST ['search_word'])) {$search =
$_POST ['search_word'];}(isset($_POST ['search_in'])) {$search_in
= $_POST ['search_in'];}
$search = strip_tags($search);
$search = trim($search);
($search == «» || strlen($search) < «3» || strlen($search) > «64»)
{
echo «<br>Вернитесь <a href='javascript:history.back(1)'>назад</a> и введите искомое выражение, с количеством символов не менее 3 и не более 64.»;
include («design/foot.inc.php»);();
}
{«Вы искали <strong>».htmlspecialchars($search). «</strong>.»;
(! get_magic_quotes_gpc())
{
$search = mysql_escape_string($search);
}
{
$search = str_replace («'», "`»,$search);
}
($search_in == «title») {$gde = «В заголовках объявлений»;}($search_in == «text») {$gde = «В содержании объявлений»;}
($search_in == «title»)
{
$query = mysql_query («SELECT * FROM board WHERE title LIKE '%». $search. «%'»);
$count_rows = mysql_num_rows ($query);
($count_rows > 0)
{«$gde найдено позиций: [<strong>».$count_rows. «</strong>]<br /><br />»;($message = mysql_fetch_array($query))
{
$html_title = $message['title'];
$message['title'] = eregi_replace ($search,
«<font color=\
«red\"><strong>$search</strong></font>»,
$message['title']);«<a href =\» http:// ». $_SERVER ['HTTP_HOST'].
"/board/category/».$message ['id_category'].
"/message/».$message['id']. "/\» title='$html_title'><img src=\
«http:// ». $_SERVER ['HTTP_HOST']. "/upload/board/arr.jpg\»
height=9 border=0 alt='$html_title'></a>
<a href =\» http:// ». $_SERVER ['HTTP_HOST']. "/board/category/».$message ['id_category']. "/message/».$message['id']. "/\» title='$html_title'>».$message['title']. «</a><br />»;
}
}
else
{
echo «По Вашему запросу ничего не найдено.»;
}
}($search_in == «text»)
{
$query = mysql_query («SELECT * FROM board WHERE text LIKE '%». $search. «%'»);
$count_rows = mysql_num_rows ($query);
($count_rows > 0)
{«$gde найдено позиций: [<strong>».$count_rows. «</strong>]<br /><br />»;($message = mysql_fetch_array($query))
{
$html_title = $message['text'];
$me_title = $message['title'];
$message['text']=eregi_replace ($search, «<font color=\ «red\"><strong>$search</strong></font>», $message['text']);
»<table style=\ «BORDER-BOTTOM: #E9E9E9 2px dashed; border-top: #E9E9E9 2px dashed\» bordercolor=#EEEEEE bgcolor=#F8F8F8 align=center cellpadding=\ «0\» cellspacing=\ «10\»>
<tr title='».$message['title']. "'>
<td>»;
«<a href =\» http:// ». $_SERVER ['HTTP_HOST']. "/board/category/».$message ['id_category']. "/message/».$message['id']. "/\» title='$me_title'><img src=\ «http:// ». $_SERVER ['HTTP_HOST']. "/upload/board/arr.jpg\» height=9 border=0 alt='$me_title'></a>»;
«<strong title='$me_title'><a href =\» http:// ». $_SERVER ['HTTP_HOST']. "/board/category/».$message ['id_category']. "/message/».$message['id']. "/\» title='$me_title'>Заголовок:».$message['title']. «</a> </strong><br />»;«<strong title='$html_title'>Содержание объявления: </strong>».$message['text'];«</td></tr></table><br />»;
}
}
else
{
echo «По Вашему запросу ничего не найдено.»;
}
}
}(«design/foot.inc.php»);
?>
- phpMyAdmin SQL Dump
version 2.6.1
http://www.phpmyadmin.net
- Хост: localhost
Время создания: Апр 07 2007 г., 02:01
Версия сервера: 4.1.16
Версия PHP: 4.4.4
БД: `test4`
-
- -
Структура таблицы `admin`
TABLE `admin` (
`id` int(11) NOT NULL auto_increment,
`login` varchar(255) NOT NULL default «,
`password` varchar(255) NOT NULL default «,
`fio` varchar(255) NOT NULL default «,
`email` varchar(255) NOT NULL default «,
`phone` varchar(255) NOT NULL default «,
`address` varchar(255) NOT NULL default «,KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251
AUTO_INCREMENT=3;
Дамп данных таблицы `admin`
INTO `admin` VALUES (1, 'admin',
'21232f297a57a5a743894a0e4a801fc3', 'test_fio', 'ya@ya.ru', '555-55-55',
'test_address');
-
Структура таблицы `board`
TABLE `board` (
`id` int(11) NOT NULL auto_increment,
`id_category` int(11) NOT NULL default '0',
`autor` varchar(32) NOT NULL default «,
`title` varchar(255) NOT NULL default «,
`email` varchar(32) NOT NULL default «,
`address` varchar(255) NOT NULL default «,
`phone` varchar(255) NOT NULL default «,
`text` text NOT NULL,
`hits` int(11) NOT NULL default '0',
`type` enum ('S', 'P') NOT NULL default 'P',
`old_mess` enum ('new', 'old') NOT NULL default 'new',
`checkbox_top` int(1) NOT NULL default '0',
`time` int(11) NOT NULL default '0',
`time_delete` enum ('7', '14', '30', '60', '90', '180', '365') NOT NULL default '30',
`last_edit` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251
PACK_KEYS=0 CHECKSUM=1 AUTO_INCREMENT=4;
Дамп данных таблицы `board`
INTO `board` VALUES (2, 1, 'admin', 'test_title',
'ya@ya.ru', 'test_address', '555-55-55, 666-77-99', 'test_message,
test_message, test_message, <br />\r\ntest_message, test_message, <br
/>\r\ntest_message, <br />\r\ntest_message, <br
/>\r\ntest_message, test_message, <br />\r\ntest_message,
test_message, test_message, <br />\r\n<br />\r\ntest_message,
<br />\r\n<br />\r\ntest_message, test_message….', 0, 'S', 'old',
0, 1175890533, '60', '2007-04-07 00:16:41');INTO `board` VALUES (3, 1, 'admin',
'test_title2', 'ya@ya.ru', 'test_address2', '66-666-66', 'test_message,
test_message, test_message, <br />\r\n<br />\r\ntest_message,
test_message, <br />\r\n<br />\r\ntest_message, <br
/>\r\n<br />\r\ntest_message, test_message…….', 3, 'S', 'old', 1,
1175890589, '90', '2007-04-07 01:41:50');
-
Структура таблицы `board_cat`
TABLE `board_cat` (
`id` int(11) NOT NULL auto_increment,
`root_category` int(11) NOT NULL default '0',
`name_cat` varchar(255) NOT NULL default «,
`description` varchar(255) NOT NULL default «,
`img` varchar(255) NOT NULL default «,KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251
AUTO_INCREMENT=13;
-
Дамп данных таблицы `board_cat`
INSERT INTO `board_cat` VALUES (1, 0, 'Авто-, мото-, вело-', 'Автомобили, мотоциклы, мопеды, велосипеды. Покупка, продажа, прокат…', 'avto.gif');
INSERT INTO `board_cat` VALUES (2, 0, 'Интерьер', 'Мебель, посуда, аксессуары, декорирование. Ремонт, восстановление, услуги…', 'interer.gif');
INSERT INTO `board_cat` VALUES (3, 0, 'Недвижимость', 'Покупка, продажа, ипотека, аренда. Дома, дачи, коммерческая недвижимость…', 'nedvijimost.gif');
INSERT INTO `board_cat` VALUES (4, 0, 'Бытовая и оргтехника', 'Бытовая и оргтехника. Компьютеры и комплектующие. Сервисное обслуживание и ремонт…', 'tehnika.gif');
INSERT INTO `board_cat` VALUES (5, 0, 'Красота и здоровье', 'Косметика, парфюмерия. Медицина. Медицинские и косметологические услуги…', 'krasota.gif');
INSERT INTO `board_cat` VALUES (6, 0, 'Бизнес и финансы', 'Деловые услуги, предложения, инвестиции. Бартер и взаимозачеты…', 'biznes.gif');