|
|
|
|
|
для: vorobey
(25.01.2009 в 12:08)
| | :null; - для определения переменной
Для безопасности mysql_escape_string(), а всё остальное - для борьбы с директивойget_magic_quotes_gpc(), которая может быть (и часто бывает) включенной по умолчанию. Если этого не сделать, появляется вероятность некорректной обработки данных (двойное экранирование). Так что зря Вы этим пренебрегаете. | |
|
|
|
|
|
|
|
для: Николай2357
(23.01.2009 в 19:09)
| |
session_start();
if (isset($_POST['search' ]))$search=$_POST['search'];
if (isset ($search))$_SESSION['search'] =$search;
|
добавил только эти две строки и все заработало.
вот непонял для чего мне рекомдовали поставить :
:null; и вот
(get_magic_quotes_gpc())? mysql_escape_string(stripslashes($search)):mysql_escape_string($search);
|
я понимаю что stripslashes -вроде для безопасности, а остальные строки
И еще. обязательно закрывать сессию и вообще зачем это нужно?
-вроде итак работает. | |
|
|
|
|
|
|
|
для: Николай2357
(23.01.2009 в 19:09)
| | анализирую.Готовых нежду иначе взялбы готовое. Я просто боюсь что направление в котором двигаюсь может быть неправильным | |
|
|
|
|
|
|
|
для: vorobey
(23.01.2009 в 17:14)
| | Неужели Вы совсем не анализируете то, что пишите? Вы зря ждете готовых решений, здесь в основном показывают направление, в котором двигаться. Ведь всего то я допустим не знаю, да и ошибиться могу очень просто. Вот как сейчас к примеру.
<?
$search = isset($_POST['search'])?$_POST['search']:null;
if($search)
$_SESSION['search'] = (get_magic_quotes_gpc())? mysql_escape_string(stripslashes($search)):mysql_escape_string($search);
|
| |
|
|
|
|
 5.5 Кб |
|
|
для: Николай2357
(22.01.2009 в 23:57)
| | вот полный код.(взят из соседней страницы-полностью аналогичен тому что выше давал только названия баз другие) с сессией результат непоменялся(ошибки не выдает).Находится и выводится результат,а навигация при нажатии всеравно непашет
<?
session_start();
$search = isset($_POST['search'])?$_POST['search']:null;
$_SESSION['search'] = (get_magic_quotes_gpc())? mysql_escape_string(stripslashes($search)):mysql_escape_string($search);
$_SESSION['search'] = ($search)?$search:$_SESSION['search'];
?>
<!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>поиск</title>
<link href="stile.css" rel="stylesheet" type="text/css">
</head>
<body>
<table class="main_border">
<?php include ("blocks/header.php");include ("blocks/bd.php");
?>
<tr>
<td><table width="1024" border="0">
<tr>
<?php include ("blocks/lefttd.php");?>
<td valign="top"><p>ВАШ поиск!</p>
<?php
$num =2;
$page = $_GET['page'];
$result_count = mysql_query("SELECT COUNT(*) FROM avtobase WHERE title='".$_SESSION['search']."' ",$db );
$temp = mysql_fetch_array($result_count);
$posts = $temp[0];
print("найдено $posts сообщений");
$total = (($posts - 1) / $num) + 1;
$total = intval($total);
$page = intval($page);
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
$start = $page * $num - $num;
$result=mysql_query("select id,title,date,description,price from avtobase WHERE title='".$_SESSION['search']."' order by id desc LIMIT $start,$num",$db);
if(!$result)
{
echo"<p>даных ненайдено</p>";
exit;
}
while ($myrow=mysql_fetch_array ($result))
{
printf ("<table valign='left' class='index'>
<tr><td class='index_auto'>
<p class='leftstr'><a href='viev.php?id=%s'>%s</a></p>
<p class='rightstr'>№обьявления : %s добавлено: %s</p>
<div style='clear: left'></div>
<b><em>описание:</em></b> %s<br>
<i>цена:</i></b><b class='price'>%s</b>
</td></tr></table></br>"
,$myrow['id'],$myrow['title'],$myrow['id'],$myrow['date'],$myrow['description'],$myrow['price']);
}
if($page!= 1)$pervpage='<a href=serch_avto.php?avto='.$avto.'&page=1>Первая</a><a href=serch_avto.php?avto='.$avto.'&page='.($page-1).'>zzz</a>';
if ($page != $total) $nextpage = ' <a href=serch_avto.php?avto='.$avto.'&page='. ($page + 1) .'>zzz</a> <a href=serch_avto.php?avto='.$avto.'&page=' .$total. '>Последняя</a>';
if($page - 5 > 0) $page5left = ' <a href=serch_avto.php?avto='.$avto.'&page='. ($page - 5) .'>'. ($page - 5) .'</a> | ';
if($page - 4 > 0) $page4left = ' <a href=serch_avto.php?avto='.$avto.'&page='. ($page - 4) .'>'. ($page - 4) .'</a> | ';
if($page - 3 > 0) $page3left = ' <a href=serch_avto.php?avto='.$avto.'&page='. ($page - 3) .'>'. ($page - 3) .'</a> | ';
if($page - 2 > 0) $page2left = ' <a href=serch_avto.php?avto='.$avto.'&page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = ' <a href=serch_avto.php?avto='.$avto.'&page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';
if($page + 5 <= $total) $page5right = ' | <a href=serch_avto.php?avto='.$avto.'&page='. ($page + 5) .'>'. ($page + 5) .'</a>';
if($page + 4 <= $total) $page4right = ' | <a href=serch_avto.php?avto='.$avto.'&page='. ($page + 4) .'>'. ($page + 4) .'</a>';
if($page + 3 <= $total) $page3right = ' | <a href=serch_avto.php?avto='.$avto.'&page='. ($page + 3) .'>'. ($page + 3) .'</a>';
if($page + 2 <= $total) $page2right = ' | <a href=serch_avto.php?avto='.$avto.'&page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href=serch_avto.php?avto='.$avto.'&page='. ($page + 1) .'>'. ($page + 1) .'</a>';
if ($total > 1){
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<div class=\"pstrnav\">";
echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
echo "</div>";}
?>
</td>
<td valign="top" width="160" ><h2>новая таблица</h2></td>
</tr>
</table></td>
</tr>
<?php include("blocks/futer.php");?>
</table>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: Николай2357
(22.01.2009 в 23:32)
| | я просто подругому пишу код
сначала объявляю все нужные переменные
if(!isset($var1)){$id1=0;}else{$id1=1;}
if(!isset($var2)){$id2=0;}else{$id2=1;}
потом идет код
потом html код зависящий от того чему равен $id - 0 или 1
и если в начале определить, что не существует $_session['search'], значит идентификатор будет равен нулю. следовательно меню поиска(и его результаты) не нужно, так как оно не используется, нужно лишь окошко с кнопкой.
у меня способ работает | |
|
|
|
|
|
|
|
для: Николай2357
(23.01.2009 в 00:00)
| | с кирилицей вроде urldecode() вполне помогает | |
|
|
|
|
|
|
|
для: vorobey
(22.01.2009 в 23:54)
| | просто дай исходник, самую его первую часть | |
|
|
|
|
|
|
|
для: nikita2206
(22.01.2009 в 23:57)
| | При гет запросе появятся проблемы с кирилицей, оно надо? И реврайт тут как мертвому пятая нога. | |
|
|
|
|
|
|
|
для: vorobey
(22.01.2009 в 23:54)
| | Два варианта - пробел или вывод выше старта сессии. Ищите. | |
|
|
|
|