Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: постраничная навигация и поиск

Сообщения:  [1-10]    [11-20]   [21-30]  [31-39] 

 
 автор: Николай2357   (25.01.2009 в 12:47)   письмо автору
 
   для: vorobey   (25.01.2009 в 12:08)
 

:null; - для определения переменной
Для безопасности mysql_escape_string(), а всё остальное - для борьбы с директивойget_magic_quotes_gpc(), которая может быть (и часто бывает) включенной по умолчанию. Если этого не сделать, появляется вероятность некорректной обработки данных (двойное экранирование). Так что зря Вы этим пренебрегаете.

  Ответить  
 
 автор: vorobey   (25.01.2009 в 12:08)   письмо автору
 
   для: Николай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 -вроде для безопасности, а остальные строки
И еще. обязательно закрывать сессию и вообще зачем это нужно?
-вроде итак работает.

  Ответить  
 
 автор: vorobey   (23.01.2009 в 21:47)   письмо автору
 
   для: Николай2357   (23.01.2009 в 19:09)
 

анализирую.Готовых нежду иначе взялбы готовое. Я просто боюсь что направление в котором двигаюсь может быть неправильным

  Ответить  
 
 автор: Николай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);

  Ответить  
 
 автор: vorobey   (23.01.2009 в 17:14)   письмо автору
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 0$page5left ' <a href=serch_avto.php?avto='.$avto.'&page='. ($page 5) .'>'. ($page 5) .'</a> | ';
if(
$page 0$page4left ' <a href=serch_avto.php?avto='.$avto.'&page='. ($page 4) .'>'. ($page 4) .'</a> | ';
if(
$page 0$page3left ' <a href=serch_avto.php?avto='.$avto.'&page='. ($page 3) .'>'. ($page 3) .'</a> | ';
if(
$page 0$page2left ' <a href=serch_avto.php?avto='.$avto.'&page='. ($page 2) .'>'. ($page 2) .'</a> | ';
if(
$page 0$page1left ' <a href=serch_avto.php?avto='.$avto.'&page='. ($page 1) .'>'. ($page 1) .'</a> | ';

if(
$page <= $total$page5right ' | <a href=serch_avto.php?avto='.$avto.'&page='. ($page 5) .'>'. ($page 5) .'</a>';
if(
$page <= $total$page4right ' | <a href=serch_avto.php?avto='.$avto.'&page='. ($page 4) .'>'. ($page 4) .'</a>';
if(
$page <= $total$page3right ' | <a href=serch_avto.php?avto='.$avto.'&page='. ($page 3) .'>'. ($page 3) .'</a>';
if(
$page <= $total$page2right ' | <a href=serch_avto.php?avto='.$avto.'&page='. ($page 2) .'>'. ($page 2) .'</a>';
if(
$page <= $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>

  Ответить  
 
 автор: Рома   (23.01.2009 в 00:09)   письмо автору
 
   для: Николай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'], значит идентификатор будет равен нулю. следовательно меню поиска(и его результаты) не нужно, так как оно не используется, нужно лишь окошко с кнопкой.

у меня способ работает

  Ответить  
 
 автор: nikita2206   (23.01.2009 в 00:01)   письмо автору
 
   для: Николай2357   (23.01.2009 в 00:00)
 

с кирилицей вроде urldecode() вполне помогает

  Ответить  
 
 автор: nikita2206   (23.01.2009 в 00:00)   письмо автору
 
   для: vorobey   (22.01.2009 в 23:54)
 

просто дай исходник, самую его первую часть

  Ответить  
 
 автор: Николай2357   (23.01.2009 в 00:00)   письмо автору
 
   для: nikita2206   (22.01.2009 в 23:57)
 

При гет запросе появятся проблемы с кирилицей, оно надо? И реврайт тут как мертвому пятая нога.

  Ответить  
 
 автор: Николай2357   (22.01.2009 в 23:57)   письмо автору
 
   для: vorobey   (22.01.2009 в 23:54)
 

Два варианта - пробел или вывод выше старта сессии. Ищите.

  Ответить  

Сообщения:  [1-10]    [11-20]   [21-30]  [31-39] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования