Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2017, 22:02   #21
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Помести var_dump($search); перед условием, в котором проверяется длина строки $search – что выводит?
Andkorol вне форума Ответить с цитированием
Старый 29.05.2017, 22:07   #22
JackFoster
Пользователь
 
Регистрация: 31.03.2017
Сообщений: 15
По умолчанию

Сделал так :
PHP код:
var_dump($search);
     
  if (
strlen($search) >= && strlen($search) < 150
Показывает

string(0) ""
JackFoster вне форума Ответить с цитированием
Старый 29.05.2017, 22:12   #23
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Получается, что в одном из файлов, подключаемых между $search = clear_string($_GET["q"]); и условием – значение переменной $search переопределяется в пустую строку.
Ищем по этим подключаемым файлам переменную $search.
Andkorol вне форума Ответить с цитированием
Старый 29.05.2017, 22:19   #24
JackFoster
Пользователь
 
Регистрация: 31.03.2017
Сообщений: 15
По умолчанию

Я в этом деле новичок, поэтому туплю, за это извиняюсь, если бы вы помогли наглядным примером было бы намного легче
JackFoster вне форума Ответить с цитированием
Старый 29.05.2017, 22:24   #25
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Каким ещё примером?
Открываешь код каждого из файлов, подключаемых между $search = clear_string($_GET["q"]); и условием – и поиском ищешь в них $search.
Ctrl+F

Вот в этих файлах ищи:
Код:
include/block-header.php     
include/block-category.php   
include/block-parameter.php
include/block-news.php
Andkorol вне форума Ответить с цитированием
Старый 29.05.2017, 22:35   #26
JackFoster
Пользователь
 
Регистрация: 31.03.2017
Сообщений: 15
По умолчанию

Переменная $search есть только в block-header , скинуть код ?
JackFoster вне форума Ответить с цитированием
Старый 29.05.2017, 22:41   #27
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Зачем?
Просто переименуй текущую переменную поиска – чтобы у неё не было конфликта с переменной из block-header.
Только ж во всём файле переименуй, особенно в условии, ничего не пропусти.
Ctrl+R
Andkorol вне форума Ответить с цитированием
Старый 29.05.2017, 22:49   #28
JackFoster
Пользователь
 
Регистрация: 31.03.2017
Сообщений: 15
По умолчанию

Переменная там есть только тут
PHP код:
<input type="text" id="input-search" name="q" placeholder="Поиск по сайту"value="<?php echo $search?>" />
Весь код:
PHP код:
<div id="block-search">

<form method="GET" action="search.php?q=" >
<span></span>
<input type="text" id="input-search" name="q" placeholder="Поиск по сайту"value="<?php echo $search?>" />
<input type="submit" id="button-search" value="Please" />
</form>

<ul id="result-search">
</ul>

</div>
Получается она конфликтует ?
JackFoster вне форума Ответить с цитированием
Старый 29.05.2017, 22:55   #29
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от JackFoster Посмотреть сообщение
Переменная там есть только тут
Вряд ли это все результаты поиска – но сделай проще: размести $search = clear_string($_GET["q"]); непосредственно перед условием.
Andkorol вне форума Ответить с цитированием
Старый 29.05.2017, 23:00   #30
JackFoster
Пользователь
 
Регистрация: 31.03.2017
Сообщений: 15
По умолчанию

Дааа!! Заработало! Только когда пишу в поиск русскими буквами происходит ошибка Notice: iconv(): Detected an illegal character in input string in C:\xampp\htdocs\site.local\www\incl ude\search.php on line 7 , я уже скидывал этот код, но всё такие ещё раз скину.
PHP код:
<?php
 
if($_SERVER["REQUEST_METHOD"] == "POST")
{
 include(
"db_connect.php");
 include(
"../functions/functions.php");
 
 
$search iconv("UTF-8""cp1251",strtolower(clear_string($_POST['text'])));


 
$result mysql_query("SELECT * FROM table_products WHERE title LIKE'%$search%' AND visible = '1'",$link);
  
 If (
mysql_num_rows($result) > 0)
{
$result mysql_query("SELECT * FROM table_products WHERE title LIKE '%$search%'  AND visible = '1' LIMIT 10",$link);
$row mysql_fetch_array($result);
do
{
echo 
'
<li><a href="search.php?q='
.$row["title"].'">'.$row["title"].'</a></li>
'
;
}
 while (
$row mysql_fetch_array($result));
 
}
 }
 
 
 
?>
Ошибка конкретно здесь :

PHP код:
$search iconv("UTF-8""cp1251",strtolower(clear_string($_POST['text']))); 
JackFoster вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Joomla 2.5 - Ошибка с Universal AJAX Live Search после переноса сайта на новый хостинг new player WordPress и другие CMS 0 19.02.2013 14:04
Изменение определенных строк в php файле xew PHP 9 18.01.2012 16:02
Проблема с Html формой в Php файле s77lanselot77s PHP 4 20.08.2011 15:48
PHP удаление нужной строки в файле Seran4ek Помощь студентам 2 12.08.2011 12:38