X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Поиск по сайту. Проблема с выводом результатов., хелп
erafia
erafia
Topic Starter сообщение 8.2.2010, 12:40; Ответить: erafia
Сообщение #1


День добрый. Решил установить на сайте поиск, чтобы результаты выводились на странице сайта. Код кнопки поиска установил, но с выводом результатов беда: либо не выводятся, либо выводятся не в дизайне сайта. Страница выводов результатов должна быть на PHP, но его я не знаю, и прошу умных помочь:

Сам скрипт вывода результатов:

[php] <?php
$result_search=file_get_contents("http://www.best-fast.ru/main_service.php?dpserver=".urlencode(serialize($_SERVER))."&dpquery=".urlencode(serialize($_REQUEST))) or die("<br><br><a href='http://www.dplspider.ru/faq/'>Возможная причина ошибки</a><br>Поддержка <a href='mailto:search@dplspider.ru'>search@dplspider.ru</a>");
echo($result_search);
?>[/php]

Что еще дописать, чтобы выводилось в дизайне сайта www.avktea.ru?

Есть еще старый php скрипт не рабочего поиска по этому сайту, но может там где-то есть блоки отвечающие за дизайн. На всякий выложу:

[php]<?php
require_once ( "neox.php" );

function myErrorHandler ($errno, $errstr, $errfile, $errline)
{
global $global_error;
$global_error .= "<p>Ошибка [$errno] <b>$errstr</b>, в строке ".$errline." файла ".$errfile."</p>";
}

$old_error_handler = set_error_handler("myErrorHandler");

/////////////////////////////////////////////////////////////////////////////////////////////////////////////
// подключаем модуль формирования страницы
require_once ( "tpl/site.php" );
$site = new n_site();
$zerror = "";

$site->init( "ns_main", "/zzz", "/" ); // инициализируем свойства страницы

/////////////////////////////////////////////////////////////////////////////////////////////////////////////
// подключаем и активируем магазин
require_once ( "tpl/shop.php" );
$site->shop = new n_shop();
$site->shop->init();


if ( !isset( $_GET["n"] ) ) { $_GET["n"] = 1; }

if ( isset( $_GET["q"] ) ) { $q = $site->util->parse_webstr($_GET["q"]); } else { $q = ""; }

$txt = "";
$site->header( "", "index.tpl" );
$site->hdr->set_var( "QUEST", $q );


//считываем список товаров этой марки
$_sql = "SELECT g.*, c.cap as category, c.url as cat_url, c.ID as cat_id, c.cid as cat_cid, c.lvl as cat_lvl, s.cap as brand, CONCAT(s.cap,' ',g.cap) as fullname
FROM ns_good as g, ns_spravs as s, ns_part_9 as c
WHERE g.is_visible=1 and g.brand=s.ID and g.part_id=c.ID
HAVING g.content LIKE '%".$q."%' or fullname LIKE '%".$q."%'
ORDER BY g.date_create DESC";


$goods = $site->db->full_query ( $_sql );

$split = 10;
$n = $_GET["n"];
if ( $n < 1 ) { $n = 1; }
$ends = $n + $split - 1; $end = $n; $numpg = ""; $sep = ""; $i = 1;

foreach ( $goods as $k => $v )
{
//print "i=".$i." n=".$n." ends=".$ends;
if ( $i >= $n and $i <= $ends )
{
$site->tpl->set_var( "LCAT", $v["category"] );
$site->tpl->set_var( "LCAP", $v["cap"] );
$site->tpl->set_var( "LINFO", mb_substr($v["content"],0,200) );
if ( $v["img"] == "" ) { $v["img"] = "/imgs/1.gif"; }
$site->tpl->set_var( "LIMG", $v["img"] );
$site->tpl->set_var( "LBRAND", $v["brand"] );

$v["cat_url"] = "/catalog/".$v["cat_url"];
if ( $v["cat_lvl"] != 1 )
{
$prt = array();
$prt["p_tb"] = "ns_part_9";
$prt["p_id"] = 9;
$prt["cid"] = $v["cat_cid"];
$prt["ID"] = $v["cat_id"];
$prt["lvl"] = $v["cat_lvl"];
$site->set_inpath_from_obj( $prt );
$v["cat_url"] = "";
foreach ( $site->inpath as $iv ) {
$v["cat_url"] .= "/".$iv["url"];
}

}
$site->tpl->set_var( "LURL", $v["cat_url"]."/".$v["url"].".html" );
$site->tpl->set_var( "LPRICE", number_format( $v["price"]/100*$sys["kurs"], 0, ".", " " ) );

$sep = "";
if ( (($k+1) % 2) == 0 ) { $sep = "</tr><tr>"; }
$site->tpl->set_var( "LSEPARATOR", $sep );

$site->tpl->parse("pgoods_el","goods_el",true);
$end++;
}
$i++;
}
$site->tpl->parse("pgoods","goods");

$count = $i;
if ( $n > 1 ) { $site->tpl->set_var("BID", $n - $split); $site->tpl->parse("pback","back", true);} else { $site->tpl->set_var("pback",""); }
if ( $end < $count ) { $site->tpl->set_var("FID", $end); $site->tpl->parse("pforward","forward", true); } else { $site->tpl->set_var("pforward",""); }

//построение списка страниц
$i--;
$site->tpl->set_var ( "NUM", $i ); $p = 1; $h = 1;
if ( $i > $split ) {
while ( $h <= $i ) {
$site->tpl->set_var ( "NL_HREF", "href='?n=".$h."'" );
if ( $h == $n ) $site->tpl->set_var ( "NL_HREF", "" );
$site->tpl->set_var ( "NL_LIST", $p );
$site->tpl->parse("pnlist","nlist",true);
$p++; $h += $split;
}
$site->tpl->parse("plistalka","listalka",true);
}
else {
$site->tpl->set_var( 'pnlist', "" );
}

$txt = "<h1>Результаты поиска: ".$q."</h1>";


$site->tpl->set_var( "TEXT", $txt );


$site->ftr->set_block("PFOOTER", "index", "pindex");
$site->ftr->set_var( "pindex", "" );

// Вывод информации на экран
$site->show();



//print $global_error;
?>[/php]
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 8.2.2010, 16:52; Ответить: ZiTosS
Сообщение #2


erafia, конечно из ваших слов не очень понятно что и как.
Разбираться в старом коде, который вы предоставили, это так сказать, копаться в буреломе.

Вообщем если уж так, то:
1) Форму, содержащую поле для ввода запроса и кнопку надо направить на прошлый файл, куда направлял нас предыдущий, не рабочий поиск.
<form action="прошлый обработчик поиска(файл)">
...
</form>

2) Мне бы хотелось узнать как у вас организована структура файлов. Какой шаблонизатор используется, или вообще без него. Так сказать трудно.
Я конечно могу написать код по старому поисковику, но я не уверен, что этот поиск коим-то образом относится к вашему сайту. Напишу а работать не будет, потому что код просто откуда-то скопирован, и кто-то пытался его встроить в этот движок. Всё будет насмарку.


Поблагодарили: (0)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
erafia
erafia
Topic Starter сообщение 8.2.2010, 18:58; Ответить: erafia
Сообщение #3


Этот поиск от этого сайта, но сама форма поиска по сайту утеряна и не мной. Я пробывала сам сделать поиск на основе 2х этих скриптов и добилась такого эффекта: он работает но русский, отображает иероглифами. К примеру наберите здесь слово "кофе":

http://avktea.ru/poisk.html (в ТЕСТОВЫЙ)

Может вы поймете, что блокирует русский? Немного переделал один момент - его выделю. Вот скрипт данного кода:

[php]<?php
require_once ( "neox.php" );

function myErrorHandler ($errno, $errstr, $errfile, $errline)
{
global $global_error;
$global_error .= "<p>Ошибка [$errno] <b>$errstr</b>, в строке ".$errline." файла ".$errfile."</p>";
}

$old_error_handler = set_error_handler("myErrorHandler");

/////////////////////////////////////////////////////////////////////////////////////////////////////////////
// подключаем модуль формирования страницы
require_once ( "tpl/site.php" );
$site = new n_site();
$zerror = "";

$site->init( "ns_main", "/zzz", "/" ); // инициализируем свойства страницы

/////////////////////////////////////////////////////////////////////////////////////////////////////////////
// подключаем и активируем магазин
require_once ( "tpl/shop.php" );
$site->shop = new n_shop();
$site->shop->init();


if ( !isset( $_GET["n"] ) ) { $_GET["n"] = 1; }

if ( isset( $_GET["q"] ) ) { $q = $site->util->parse_webstr($_GET["q"]); } else { $q = ""; }

$txt = "";
$site->header( "", "index.tpl" );
$site->hdr->set_var( "QUEST", $q );


//считываем список товаров этой марки
$_sql = "SELECT g.*, c.cap as category, c.url as cat_url, c.ID as cat_id, c.cid as cat_cid, c.lvl as cat_lvl, s.cap as brand, CONCAT(s.cap,' ',g.cap) as fullname
FROM ns_good as g, ns_spravs as s, ns_part_9 as c
WHERE g.is_visible=1 and g.brand=s.ID and g.part_id=c.ID
HAVING g.content LIKE '%".$q."%' or fullname LIKE '%".$q."%'
ORDER BY g.date_create DESC";


$goods = $site->db->full_query ( $_sql );

$split = 10;
$n = $_GET["n"];
if ( $n < 1 ) { $n = 1; }
$ends = $n + $split - 1; $end = $n; $numpg = ""; $sep = ""; $i = 1;

foreach ( $goods as $k => $v )
{
//print "i=".$i." n=".$n." ends=".$ends;
if ( $i >= $n and $i <= $ends )
{
$site->tpl->set_var( "LCAT", $v["category"] );
$site->tpl->set_var( "LCAP", $v["cap"] );
$site->tpl->set_var( "LINFO", mb_substr($v["content"],0,200) );
if ( $v["img"] == "" ) { $v["img"] = "/imgs/1.gif"; }
$site->tpl->set_var( "LIMG", $v["img"] );
$site->tpl->set_var( "LBRAND", $v["brand"] );

$v["cat_url"] = "/catalog/".$v["cat_url"];
if ( $v["cat_lvl"] != 1 )
{
$prt = array();
$prt["p_tb"] = "ns_part_9";
$prt["p_id"] = 9;
$prt["cid"] = $v["cat_cid"];
$prt["ID"] = $v["cat_id"];
$prt["lvl"] = $v["cat_lvl"];
$site->set_inpath_from_obj( $prt );
$v["cat_url"] = "";
foreach ( $site->inpath as $iv ) {
$v["cat_url"] .= "/".$iv["url"];
}

}
$site->tpl->set_var( "LURL", $v["cat_url"]."/".$v["url"].".html" );
$site->tpl->set_var( "LPRICE", number_format( $v["price"]/100*$sys["kurs"], 0, ".", " " ) );

$sep = "";
if ( (($k+1) % 2) == 0 ) { $sep = "</tr><tr>"; }
$site->tpl->set_var( "LSEPARATOR", $sep );

$site->tpl->parse("pgoods_el","goods_el",true);
$end++;
}
$i++;
}
$site->tpl->parse("pgoods","goods");

$count = $i;
if ( $n > 1 ) { $site->tpl->set_var("BID", $n - $split); $site->tpl->parse("pback","back", true);} else { $site->tpl->set_var("pback",""); }
if ( $end < $count ) { $site->tpl->set_var("FID", $end); $site->tpl->parse("pforward","forward", true); } else { $site->tpl->set_var("pforward",""); }

//построение списка страниц
$i--;
$site->tpl->set_var ( "NUM", $i ); $p = 1; $h = 1;
if ( $i > $split ) {
while ( $h <= $i ) {
$site->tpl->set_var ( "NL_HREF", "href='?n=".$h."'" );
if ( $h == $n ) $site->tpl->set_var ( "NL_HREF", "" );
$site->tpl->set_var ( "NL_LIST", $p );
$site->tpl->parse("pnlist","nlist",true);
$p++; $h += $split;
}
$site->tpl->parse("plistalka","listalka",true);
}
else {
$site->tpl->set_var( 'pnlist', "" );
}
$result_search=file_get_contents("http://www.best-fast.ru/main_service.php?dpserver=".urlencode(serialize($_SERVER))."&dpquery=".urlencode(serialize($_REQUEST))) or die("<br><br><a href='http://www.dplspider.ru/faq/'>Возможная причина ошибки</a><br>Поддержка <a href='mailto:search@dplspider.ru'>search@dplspider.ru</a>");

$txt = "<h1>Результаты поиска: ".$result_search."</h1>";




$site->tpl->set_var( "TEXT", $txt );


$site->ftr->set_block("PFOOTER", "index", "pindex");
$site->ftr->set_var( "pindex", "" );

// Вывод информации на экран
$site->show();



//print $global_error;
?>[/php]

Но стандартно вывод результатов был предложен иной (указан выше).
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 8.2.2010, 19:37; Ответить: ZiTosS
Сообщение #4


erafia,
1) Не надо все слова жирным выделять, мы и так читать умеем. Жирным выделяют пару ключевых слов и не более.
2) Выделяйте пожалуйста код в bb-теги. Читать неоформленный код больше не буду. Уважайте других пользователей.
3) Проблема ваша во втором варианте та, что кодировка страниц вашего сайта utf-8, а сервиса поиска по вашему сайту windows-1251. Отсюда подобное отображение символов.
Вас спасет библиотека iconv, если она присутствует у хостера.
То есть вам перед выводом результатов их сначала надо преобразовать из одной кодировки в другую.
[php]//...

$result_search = file_get_contents("http://www.best-fast.ru/main_service.php?dpserver=".urlencode(serialize($_SERVER))."&dpquery=".urlencode(serialize($_REQUEST))) or die("<br><br><a href='http://www.dplspider.ru/faq/'>Возможная причина ошибки</a><br>Поддержка <a href='mailto:search@dplspider.ru'>search@dplspider.ru</a>");

if( function_exists('iconv') )
$result_search = iconv('windows-1251', 'utf-8', $result_search); // вот она родимая;)
else
$result_search = "Формат данных не поддерживается"; // если библиотеки iconv нету, то выводим сообщение об отсутствии поддержки кодировки

$txt = "<h1>Результаты поиска: {$result_search}</h1>";

//...[/php]
Попробуйте вставить данный код и скажите или покажите результат.


Поблагодарили: (0)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
erafia
erafia
Topic Starter сообщение 8.2.2010, 21:22; Ответить: erafia
Сообщение #5


Всё работает! Дай Вам бог здоровья - вы меня уже не 1й раз выручаете, спасибо. ;)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 9.2.2010, 9:40; Ответить: ZiTosS
Сообщение #6


erafia, всегда пожалуйста. Конечно то, что я вам предложил - это большущий костыль ;)


Поблагодарили: (0)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
kuku_mw
kuku_mw
сообщение 11.3.2010, 4:40; Ответить: kuku_mw
Сообщение #7


Скажите, а мне не поможите дело втом, что мне нужно написать скрипт на пчп который мне определит тип и версию браузеров и операционок посетителей моего сайта и запишет данные в базу , помогите пожалуйста буду очень благодарен!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
eyexal
eyexal
сообщение 11.3.2010, 12:49; Ответить: eyexal
Сообщение #8


echo $_SERVER['HTTP_USER_AGENT'];
покажет:
Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)

думаю этой инфы достаточно в данной функции
а заливать в базу ну на пример так:
[php]mysql_query("INSERT INTO `dbase` (`user`, `log`) VALUES ('$userLogin','{$_SERVER['HTTP_USER_AGENT']}')" );[/php]

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Требуется помощь по сайту на "ВордПресс"
Закрылся доступ в панель администратора
7 Tia2 741 Сегодня, 14:47
автор: malamut
Открытая тема (нет новых ответов) Аукцион 5 трастовых сайтов. Продам сайты с ИКС, возраст более 4-х лет, с небольшим доходом, Аукцион на 5 сайтов раздельный по каждому сайту
Аукцион на 5 сайтов раздельный по каждому сайту
0 rumiso 997 18.9.2022, 18:39
автор: rumiso
Открытая тема (нет новых ответов) Smmsearch.net - поиск самой дешевой накрутки в социальных сетях.
0 Professor7717 3268 13.8.2021, 19:53
автор: Professor7717
Открытая тема (нет новых ответов) Поиск кодера в команду. PHP, Pyton. На постоянку.
7 getsend_mw 2788 3.2.2021, 21:15
автор: getsend_mw
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыЯ Вам тексты, Вы мне работы по сайту
1 Shelley 1041 28.10.2020, 13:49
автор: Telnor


 



RSS Текстовая версия Сейчас: 19.3.2024, 15:51
Дизайн