Не понятное что то.

chemax
На сайте с 07.01.2009
Offline
206
398

Походу у меня уже крыша едет. Но догнать не могу в чем проблема.

например на сайт ссылка на переключение страниц добавляется так:

$search_text='u o';

$i формируется в цикле

$id заданная переменная

$content.=' <a href=/index.php?do=search&id='.$id.'&search_text='.$search_text.'&page='.$i.'>'.$i.'</a>';

у меня выводит:

<a href="/index.php?do=search&amp;id=1&amp;search_text=u" o&page="2">2</a>

на сайте стоит 1251 кодировка. на всех страницах все ссылки норм. вот только на одной глючит.

Качественный хостинг, VPS и сервера. (http://ihc.ru/?ref=569)
Maxouni
На сайте с 18.11.2008
Offline
119
#1

двойные кавычки - в коде нет а на выходе в html появляются. посмотри мож где че заменяется.

Создание, продвижение, поддержка сайтов и приложений.
chemax
На сайте с 07.01.2009
Offline
206
#2

нет. дальше идет генерация шаблона. она у всех общая. сначала на локаль грешил, но удалял а все так же осталось.

$search_text проверял перед выводом. нормальное значение.

chemax добавил 07.08.2009 в 18:36

код index.php

<?

switch ($do)
{
case 'search':
$id=intval($_GET['id']);
$search_text=mysql_real_escape_string(htmlspecialchars($_GET['search_text']));
require_once (Root_Dir.'engine/search.php'); //подключение вывода текстов
break;
}

require_once (Root_Dir.'templates/templates.php'); //подключение шаблона
?>

код search.php

<?

setlocale(LC_ALL, 'ru_RU.CP1251');//текущая локаль
$kol_st=10;//количество результатов на страницу
$page=intval($_GET['page']);//узнаем текущую страницу
if($page=='')$page=1;//если нет текущей страницы то ставим 1
if (strlen($search_text)>2){

$search_text = substr($search_text, 0, 40);
$search_text = preg_replace("/[^\w\x7F-\xFF\s]/", " ", $search_text);
$search_text = ereg_replace(" +", " ", $search_text);
$highlight = '/'.str_replace(" ", "|", $search_text).'/i';//это для выделения слов которые ищются

#Узнаем количество страниц#
$sqlcount = @mysql_query("SELECT COUNT(*) as count FROM `table` where `title` LIKE '%". str_replace(" ", "%' AND `title` LIKE '%", $search_text). "%'");
$rowcount=mysql_fetch_array($sqlcount);
$kol=abs($rowcount['count']/$kol_st)+1;

$start=abs($kol_st*($page-1));//начальное позиция

#Сам запрос к бд#
$sql = @mysql_query("SELECT * FROM `table` where `title` LIKE '%". str_replace(" ", "%' AND `title` LIKE '%", $search_text). "%' limit $start,$kol_st");


$start++;

if(mysql_num_rows($sql) != 0){//если есть результаты

$content='<ul>';

while ($row=mysql_fetch_array($sql)){

$content.=preg_replace($highlight, "<b>\\0</b>", '
<li><b>'.$start.'</b>.) <a href="/text'.$row['id'].'.html">'.$row['title'].'</a></li>
<p>'.substr($row['text'],0,150).'...</p><br/>');
$start++;

}

$content.='</ul>';

$content='Найдено всего: <b>'.$rowcount['count'].'</b><br/>'.$content.'<br/>Страницы: ';
}else{$content=$error["text"]["none_search"];}

}
else{$content.='ошибка ввода';}

if($kol>1){
for($i=1;$i<=$kol;$i++){
if($page==$i){$content.=' '.$i;}
else{$content.=' <a href=/index.php?do=search&id='.$id.'&search_text='.$search_text.'&page='.$i.'>'.$i.'</a>';}}}
?>

вот и весь код. че к чему глючит не понятно

chemax добавил 07.08.2009 в 18:45

короче я олень. ушел спать:(

все заработало...

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий