Сайт PHP MySQL Apache

Для всех любителей и профессионалов этого нелегкого дела.

Модераторы: Почётные модераторы, Модераторы "Программирование"

Сайт PHP MySQL Apache

Сообщение ~$Gad$~ » 13 сен 2009, 00:15

Прошу помощи!
На блоге сделал поиск работает норм,если вводить слово, которое база находит,все отображается норм...
а когда просто пишеешь отсебятину (например :рпороаоп) пропадает футер.

Подскажите где ошибка или что надо еще прописать?

код view_search.php

Код: Выделить всё
<?php include ("blocks/bd.php");
if (isset($_POST['submit_s']))
{
$submit_s = $_POST['submit_s'];
}

if (isset($_POST['search']))
{
$search = $_POST['search'];
}

if (isset($submit_s))
{

if (empty($search) or strlen($search) < 4)
{
exit ("<p>Поисковый запрос не введен, либо он менее 4-х символов.</p>");
}

$search = trim($search);
$search = stripslashes($search);
$search = htmlspecialchars($search);

}

else
{
exit("<p>Вы обратились к файлу без необходимых параметров.</p>");
}
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title><?php echo "Заметки по запросу - $search "; ?></title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="872" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#000000" bgcolor="#FFFFFF" class="main_border">
  <?php include ("blocks/header.php");?>
  <tr>
    <td valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <?php include ("blocks/lefttd.php");?>
        <td  bgcolor="#CCCCCC" valign='top'>
      <?php 
       
       

$result = mysql_query("SELECT id,title,description,date,author,mini_img,view FROM data WHERE MATCH(text) AGAINST('$search')",$db);

if (!$result)
{
echo "<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору.<br><strong>код ошибки</strong> </p>";
exit (mysql_error());
}

if (mysql_num_rows($result)>0)
{
$myrow = mysql_fetch_array($result);

do
{
printf ("<br><table align='center' class='post'>
         
       <tr>
         <td class='post_title'>
       <p class='post_name'><img class='mini' align='left' src='%s'><a href='view_post.php?id=%s'>%s</a></p>
       <p class='post_adds'>Дата добавления: %s</p>
       <p class='post_adds'>Автор урока: %s</p></td>
         </tr>
         
       <tr>
         <td>%s <p class='post_view'> Просмотров: %s</p></td>
         </tr>
         
       </table><br><br>",$myrow ["mini_img"],$myrow["id"],$myrow ["title"],$myrow ["date"],$myrow ["author"],$myrow["description"], $myrow ["view"]);

}

while ($myrow = mysql_fetch_array($result));

}

else
{
echo "<p>Информация по запросу не может быть извлечена в таблице .Нет записей</p>";
include ("blocks/righttd.php");
exit ();


}

?>         
     <?php include ("blocks/righttd.php");?>
       </td>
      </tr>
    </table></td>
  </tr>
<?php include ("blocks/footer.php");?>
</table>
</body>
</html>



часть кода lefttd.php
Код: Выделить всё
<div class="nav_title">Поиск</div>
<form action="view_search.php" method="post" name="form_s">

 
 <p class="search_t">Поисковый запрос должен быть не менее 4-х символов.</p>
 <p><input name="search" type="text" size="20" maxlength="40">
 <br>
 <input class="search_b" name="submit_s" type="submit" value="Искать">
 </p>




</form>


CSS

Код: Выделить всё
/* CSS Document */

.main_border {border:1px solid #000000;}
body {background-image:url(img/bg.gif);
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:12px;
color:#000000; margin:15px;
}
.left {background-color: #484848; border-right:1px solid #CCCCCC;}
p {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; color:#000000; margin:15px;}

.nav_title {
margin-top:15px;
margin-left:5%;
margin-right:5%;
font-weight:bold;
text-align:center;
border-left: 4px solid #99CC00;
border-bottom:1px solid #FFFFCC;
font-family:Verdana, Arial, Helvetica, sans-serif; font-size:16px; color:#FFFFCC;

}


.nav_link {color:#FFCC66;
font-size:13px;
margin-top:10px;
border-bottom:10px;}




.post {border:1px solid  #000000; width:95%;}
.post_title {background-color: #A7A7A7;}

.post_name {font-weight:bold; margin-top:7px; margin-bottom:7px;}
.post_adds {font-size:11px; margin-top:7px; margin-bottom:7px; color: #272727;}

.post_view {font-size:11px; color: #515151;}


.mini {border:2px solid  #E4E4E4;
margin-right:10px; margin-top:2px;}


.post_title2 {font-size:16px; font-weight:bold; color: #991515; text-align:center; background-color: #CCCCCC;}

.post_add {font-size:12px; margin-top:10px; margin-bottom:10px; font-weight:bold;}


.post_comment {font-size:13px; font-weight:bold; color: #733917; }
.post_comment1 {font-size:11px;}


.post_div {border- top:1px solid;border-bottom:1px solid; margin:15px;}

.post_div p {margin-left:0px;}


.search_t {font-size:11px;color:#CCCCCC}
.search_b {margin-top:6px;}



СПС!
get or?
Аватара пользователя
~$Gad$~
 
Сообщения: 947
Зарегистрирован: 16 янв 2008, 23:58

Re: Сайт PHP MySQL Apache

Сообщение ~$Gad$~ » 13 сен 2009, 00:23

вот так получается...
Вложения
233.JPG
233.JPG (46.84 КБ) Просмотров: 11460
.JPG
.JPG (57.83 КБ) Просмотров: 11460
get or?
Аватара пользователя
~$Gad$~
 
Сообщения: 947
Зарегистрирован: 16 янв 2008, 23:58

Re: Сайт PHP MySQL Apache

Сообщение DevilMan » 13 сен 2009, 11:22

Код: Выделить всё
else
{
echo "<p>Информация по запросу не может быть извлечена в таблице .Нет записей</p>";
include ("blocks/righttd.php");
exit (); <------------------------- !!!
}

ну и инклуд правого блока убери
бываю редко, проще звонить 8-902-860-ноль шесть девять шесть
Аватара пользователя
DevilMan
 
Сообщения: 635
Зарегистрирован: 08 окт 2007, 14:35

Re: Сайт PHP MySQL Apache

Сообщение ~$Gad$~ » 13 сен 2009, 11:38

Код: Выделить всё
else
{
echo "<p>Информация по запросу не может быть извлечена в таблице .Нет записей</p>";

exit ();


}

?>         
     <?php include ("blocks/righttd.php");?>
       </td>
      </tr>
    </table></td>
  </tr>
<?php include ("blocks/footer.php");?>
</table>
</body>
</html>



если так,то когда пишешь отсебятину,пропадает и футер и правый блок!не могу понять в чем ошибка?вродь в конце стоит тег закрытия пхп,занова токрываю чтоб добавить правый блок и футер...но при написании отсебятины он игнорит :o
Вложения
.JPG
.JPG (48.55 КБ) Просмотров: 11442
get or?
Аватара пользователя
~$Gad$~
 
Сообщения: 947
Зарегистрирован: 16 янв 2008, 23:58

Re: Сайт PHP MySQL Apache

Сообщение Naevus » 13 сен 2009, 14:50

~$Gad$~ писал(а):else
{
echo "<p>Информация по запросу не может быть извлечена в таблице .Нет записей</p>";

exit ();

если так,то когда пишешь отсебятину,пропадает и футер и правый блок!не могу понять в чем ошибка?вродь в конце стоит тег закрытия пхп,занова токрываю чтоб добавить правый блок и футер...но при написании отсебятины он игнорит :o

А по другим ошибкам у тебя футер рисует (по "Запрос на выборку данных из базы не прошел", например?).
Подозреваю, что просмотр кода "без футера" покажет, что код обрывается в момент exit(), т.е. вся нижняя часть у тебя выводтся только если в обработчике условия нет exit-а
Личный раздел- Список недругов- pater_leo - Выбрать отмеченных- Отправить- Да
Аватара пользователя
Naevus
Модератор
 
Сообщения: 10700
Зарегистрирован: 24 сен 2007, 21:52
Откуда: Магнитогорск

Re: Сайт PHP MySQL Apache

Сообщение Diablo » 13 сен 2009, 14:53

exit() убери - специально же стрелочку нарисовал
а про правый блок подразумевалось, что он два раза выводится
Изображение
Аватара пользователя
Diablo
Флудер
 
Сообщения: 997
Зарегистрирован: 25 сен 2007, 12:42

Re: Сайт PHP MySQL Apache

Сообщение ~$Gad$~ » 13 сен 2009, 15:14

всем спасибо!прошу пока тему не закрывать!думаю еще возникнут у меня вопросы...огромное спс!
get or?
Аватара пользователя
~$Gad$~
 
Сообщения: 947
Зарегистрирован: 16 янв 2008, 23:58

Re: Сайт PHP MySQL Apache

Сообщение ~$Gad$~ » 21 сен 2009, 13:11

хех вот мое творение :P строго не судите...
Код: Выделить всё
www.siteman.tu2.ru
get or?
Аватара пользователя
~$Gad$~
 
Сообщения: 947
Зарегистрирован: 16 янв 2008, 23:58

Re: Сайт PHP MySQL Apache

Сообщение tsxxst » 21 сен 2009, 20:22

~$Gad$~ писал(а):хех вот мое творение :P строго не судите...
Код: Выделить всё
www.siteman.tu2.ru

Кавычки нормально заэкранируйте, пока вам базу не потёрли через sql-иньекцию =@ :wink:
Изображение
Аватара пользователя
tsxxst
 
Сообщения: 170
Зарегистрирован: 24 сен 2007, 22:59
Откуда: Из Ехо :)

Re: Сайт PHP MySQL Apache

Сообщение tsxxst » 21 сен 2009, 20:34

Каптча в форме комментариев ненастоящая, не меняется при каждом перезапросе, один раз человеку надо её решить, и боты с заранее известным ответом на неё могут запихать туда километры спама. Рекомендую kcaptcha, она у меня кстати в подписи стоит :)
по сайто_строению
Без пробела надо.
Изображение
Аватара пользователя
tsxxst
 
Сообщения: 170
Зарегистрирован: 24 сен 2007, 22:59
Откуда: Из Ехо :)

Re: Сайт PHP MySQL Apache

Сообщение ~$Gad$~ » 22 сен 2009, 12:41

tsxxst писал(а):
~$Gad$~ писал(а):хех вот мое творение :P строго не судите...
Код: Выделить всё
www.siteman.tu2.ru

Кавычки нормально заэкранируйте, пока вам базу не потёрли через sql-иньекцию =@ :wink:

эм по поводу ковычек объясните подробней,а то я не оч в этом разбираюсь...ковычки имеются в виду ,когда в адресной строке пишешь запросы?
get or?
Аватара пользователя
~$Gad$~
 
Сообщения: 947
Зарегистрирован: 16 янв 2008, 23:58

Re: Сайт PHP MySQL Apache

Сообщение ~$Gad$~ » 22 сен 2009, 12:43

tsxxst писал(а):Каптча в форме комментариев ненастоящая, не меняется при каждом перезапросе, один раз человеку надо её решить, и боты с заранее известным ответом на неё могут запихать туда километры спама. Рекомендую kcaptcha, она у меня кстати в подписи стоит :)
по сайто_строению
Без пробела надо.




а инструкции нет по поводу как добавить в базу и чтоб нормально работало?
get or?
Аватара пользователя
~$Gad$~
 
Сообщения: 947
Зарегистрирован: 16 янв 2008, 23:58

Re: Сайт PHP MySQL Apache

Сообщение SarGon4eg » 22 сен 2009, 13:39

Поиск не работает?
Изображение
Аватара пользователя
SarGon4eg
 
Сообщения: 327
Зарегистрирован: 20 фев 2008, 12:47

Re: Сайт PHP MySQL Apache

Сообщение tsxxst » 22 сен 2009, 15:27

~$Gad$~ писал(а):а инструкции нет по поводу как добавить в базу и чтоб нормально работало?


База этой каптче не нужна, инструкция там была — в нужное место вставляешь имадж, а потом, при проверке, вызываешь функцию, чтобы узнать, совпал ли ответ.

~$Gad$~ писал(а):эм по поводу ковычек объясните подробней,а то я не оч в этом разбираюсь...ковычки имеются в виду ,когда в адресной строке пишешь запросы?

Вот у вас там запрос примерно такого типа
Код: Выделить всё
select * from bla where column='$search'

Что будет, если строка поиска будет выглядеть вот так?
Код: Выделить всё
blabla' or 1=1
Запрос примет форму
Код: Выделить всё
select * from bla where column='blabla' or 1=1
, и этим будут выбраны абсолютно все записи, а не те, которые попадают под поиск. Составить запрос посложнее — и можно вытянуть, к примеру, пароли из других таблиц.
Чтобы такого не было, строку $search надо пропустить через mysql_escape_string(), эта функция обезопасит строку, подлежащую включению в запрос.
Изображение
Аватара пользователя
tsxxst
 
Сообщения: 170
Зарегистрирован: 24 сен 2007, 22:59
Откуда: Из Ехо :)

Re: Сайт PHP MySQL Apache

Сообщение ~$Gad$~ » 27 сен 2009, 00:27

всем доброго времени суток)))делаю сайт на джумле...но чот не могу понять где в шаблоне не лады!
прошу помощи!

проблема в том что кнопки "Подробнее" "Оставить коммент.." накладываются друг на друга!

в браузере в исходном коде смотрю ,стоят теги <td и tr>, но я так понял чтоб норм отображалась нада сделать через див? но не могу понять где в каком файле нада править????

исходный код (фрагмент)
Код: Выделить всё
<tr>
   <td width="70%"  valign="top" colspan="2">
      <span class="small">
         Автор: Administrator      </span>
      &nbsp;&nbsp;
   </td>
</tr>

<tr>
   <td valign="top" colspan="2" class="createdate">
      19.09.2009 18:42   </td>
</tr>


<tr>
<td valign="top" colspan="2">
Файлообменник <a href="http://www.turbobit.ru" target="_blank" rel="nofollow">turbobit.ru</a> предлагает             заработать пользователям в своей партнерской программе четырьмя разными             способами:<p>&nbsp;</p><!-- START of joscomment -->
   <div class='write_comment'>
      <a href="http://localhost/newsportal/index.php?option=com_content&amp;view=article&amp;id=7:4-&amp;catid=9:2009-09-19-18-08-01&amp;Itemid=1#JOSC_TOP" class="readon">Оставить комментарий (0 Комментариев)</a>
   </div>
   
<!-- END of joscomment --></td>
</tr>

<tr>
   <td colspan="2"  class="modifydate">
      Обновлено ( 25.09.2009 08:04 )
   </td>
</tr>

<tr>
   <td  colspan="2">
      <a href="/newsportal/index.php?option=com_content&amp;view=article&amp;id=7:4-&amp;catid=9:2009-09-19-18-08-01&amp;Itemid=1" class="readon">
         Подробнее...</a>
   </td>
</tr>


чтобы легче было вам разобраться засунул в архив модули,шаблоны,плагины и искод код....(ссылка на депозит)
http://depositfiles.com/files/d4os3rymt


для наглядности вот что получается
Вложения
.JPG
.JPG (47.62 КБ) Просмотров: 10999
get or?
Аватара пользователя
~$Gad$~
 
Сообщения: 947
Зарегистрирован: 16 янв 2008, 23:58


Вернуться в Программирование

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1