Как представить в нормальном виде??? %F3%F7%E0%F1...

Pet

Guest
Как представить в нормальном виде??? %F3%F7%E0%F1...

Задача: навигация по страницам результатов поиска из базы данных.

echo " <a href=\"?page=$l&where=$where\">$l</a>";

где $where - условие отбора...

При работе на локальной машине, все работает:
http://localhost/.../poisk.php?page=2&where= `tip`%20LIKE%20'сдам'

но когда залил на сервер, происходит кодирование (?) и получается результат:

http://.../poisk.php?page=2&where= `object` LIKE '%F3%F7%E0%F1%F2%EE%EA'

попробывал следующее:
$where=htmlspecialchars(rawurldecode($where));

не помогло...
Помогите пожалуйста советом.
 

Pet

Guest
Хорошо, тогда конкретизируем:
можно-ли вообще заменить строку

%20%60object%60%20LIKE%20'%F3%F7%E0%F1%F2%EE%EA'

ее нормальным представлением??? Или нужно искать другие пути передачи запроса?
 

UnrealEvil

Guest
Pet

попробуй сделать для ссылки
PHP:
echo "<a href=\"?page=".$l."&where=".rawurlencode($where)."\">".$l."</a>";
 

SiMM

Новичок
Передавать запрос GET'ом - вообще не лучшее решение. Ни какой секьюрности.
 

stellar

Guest
Передавать подстроку SQL запроса поиска через ссылку - ужасная дыра. Хуже этого даже сложно что-либо придумать.

Подумай, что произойдет с базой, если передать нечто вроде
%20LIKE%20''%20AND%20DELETE%20FROMtable_name%20
 

Pet

Guest
Originally posted by stellar
Передавать подстроку SQL запроса поиска через ссылку - ужасная дыра. Хуже этого даже сложно что-либо придумать.

Тогда как сохранить и главное передать результат запроса формы, которая выводит данные из базы данных, с выборкой по результатам формы. Данные выводятся постранично, т.е. допустим первые 10, затем ссылка на следующюю страницу, при этом форма уже обнуленная, данные результата заполнения формы потеряны, и выводится вся база данных...:confused:
Щас продумаю альтернативные варианты...
 

stellar

Guest
<a href=index.php?start=10&search_column=1& =ЗАПРОС>

$search_column = $search_column * 1;
switch($search_column)
{
case 1:
$column = 'field1'';
case 2;
$column = 'field2';
}

$SQLQuery = "SELECT blah, blah1, blah2 FROM mytable WHERE " . $column . " LIKE '" . $search_query . "'";

Защиту $search_query от символов ' добавить по вкусу.
 

Pet

Guest
2 stellar
Принцып понятен, но раз пошла такая пьянка, попробую сделать то-же самое, но с использованием сессий...
Посмотрим что получится...
 

SiMM

Новичок
Сессии там ни к селу, ни к городу - посмотри на любой поисковик - прекрасно обходятся без всяких сессий.
 

stellar

Guest
Сессии для постраничного вывода использовать низзя.
Потому как когда пользователь сохранит в избранном результаты поиска, а сессия протухнет, то во второй раз он нифига не найдет.
 
Сверху