Ошибка при поиске

Автор slipknotweb, 22 октября 2007, 16:09:50

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

slipknotweb

Поиск по форуму не дал никаких результатов  :'(

У меня на форуме при попытке найти что либо происходит ошибка, визуально на форуме это никак не сказывается но в логах ошибок форума(в админке) пишет:

8: Undefined index: brd
Файл: /home/httpd/vhosts/site.ru/subdomains/forum_p/httpdocs/Sources/Search.php
Строка: 407



- такая ошибка возникает даже при использовании стандартной темы оформления. Форум обновлен до последней версии(1.1.4), никаких модов и дополнений нету и небыло установлено(только темы офомления). Ошибка не критическая но хотелось бы вообще без них...

Mavn

Пересоздай поисковые индексы если не использовал их то создай тогда их и используй
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

Avdenago

на офф сайте есть мод-багфикс - устраняющий данную проблему.

slipknotweb

дану стремно сторонние разработки ставить, буду ждать оф. апдейта :)

klow

Устраняется элементарно.
В файле Search.php находишь строчку 407
if (is_array($_REQUEST['brd']) && !empty(!$_REQUEST['brd']))
меняешь ее на
if (!empty($_REQUEST['brd']) && !is_array($_REQUEST['brd']))

genix

klow, ты может быть, прав, но не ошибся там с восклицательным знаком перед is_array()? Там же ошибка в том, что индекс неидентифицирован 'brd', ну как бы да, если поменять местами, то он сначала напорется на условие пустой ли он и дальше не пойдет, можт прокатит, ток вот менять то условие на противоположное хз =)
- Все, что не убьет меня, сделает меня сильнее - (Ф.Ницше, Карандаш, Кани Вест)

klow

Спасибо за замечание.
Ошибка действительно есть, но в только строчке, которую нужно найти. :)
Там нужно поставить восклицательный знак перед is_array
Исходная строка, которую нужно найти будет:  if (!is_array($_REQUEST['brd']) && !empty($_REQUEST['brd']))

Mavn

ну вообще то можно просто мод использовать
http://custom.simplemachines.org/mods/index.php?mod=976
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

wiggin


Xvost

Всё хорошо, но есть вопросы:
1. Почему данная ошибка вылазит?
2. На результатах поиска эта ошибка, похоже, не сказывается, тогда стоит ли мудрить с исправлениями - чем обоснована необходимость исправления? только что бы не делались записи в логах ошибок форума?
3. Можно более подробно об этом:
Цитата: MavnПересоздай поисковые индексы если не использовал их то создай тогда их и используй

Avdenago

1. потому что видимо разрабы где-то что-то забыли...
2. Возможно.
3. в Настройках Поиска посмотрите

Xvost

Таким образом, если я правильно Вас понял, то можно не напрягаться с исправлением описанной проблемы, т. к. это, скорее всего, просто косяк разработчиков, так?

Avdenago

Да. Но это мое личное мнение на данный счет. Оно может быть неверно. Я вот отношусь так, кто-то может иначе.

GodDan

Цитата: Xvost от 05 января 2008, 14:46:26
Таким образом, если я правильно Вас понял, то можно не напрягаться с исправлением описанной проблемы, т. к. это, скорее всего, просто косяк разработчиков, так?
Данную ошибку первый раз увидел в 1.1.3, наивно думал, как и товарищ выше, что в новой версии разработчики обязательно исправят... А нет – в 1.1.4. эта ошибка все также присутствует.

А это означает что ошибка не критическая, и разработчики ее исправят.. другой вопрос "КОГДА?", присутствие стороних решений проблемы (всяки моды и вмешательства в код) тревожный знак...

Kerlen

Цитата: Mavn от 22 октября 2007, 18:40:41
Пересоздай поисковые индексы если не использовал их то создай тогда их и используй

Сделал - ошибка всё равно осталась. Попробовал установить фиксящий мод с офсайта - ошибка при тестовой установке. Версия форума самая свежая - неделю назад устанавливал два форума с нуля и одно и то же на обоих. А сообщения об этих ошибках в логах достают - напрягает разгребать их каждый день в поисках содержательных сообщений.

KapaBG

было чтото похожее связаное с отсутствием каких-то локализацие(рус) у хостеров. помогло выключко флажка в Форум/Сообщения и темы/Разрешить проверку орфографии и перестройко индегза

Kerlen

Блин. Этот флажок у меня и так выключен - серв не поддерживает функцию...

Шаннар

Я правильно понимаю, в 1.1.5 мод, исправляющий эту ошибку — уже не нужен?

Mavn

если ставили патч 1.1.4- 1.1.5 то судя по коду патч не содержит исправление данной ошибки.
Судя по моим наблюдениям в патчах которые выпускает smforg содержаться только фиксы критичиеских ошибок форума исправляющие так называемые проблемные места связанные с безопасностью. Все остальные мелкие ошибки фиксятся только в целом пакете!
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

Kerlen

Не знаю насчёт кода, неписьменный я :), но после обновления на версию 1.1.5 ошибка поиска у меня пока не возникала.

stas797

#20
Нужна помощь.При поиске по доп. полям выскакивает вот такая ошибка
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':tcust_позывн} AND tcust_позывн.id_theme = 1 AND tcust_позывн.' at line 3
Файл: wwwroot\Sources\Memberlist.php
Строка: 539
В админке
SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':tcust_позывн} AND tcust_позывн.id_theme = 1 AND tcust_позывн.' at line 3
SELECT COUNT(*)
FROM smf_members AS mem
LEFT JOIN smf_membergroups AS mg ON (mg.id_group = CASE WHEN mem.id_group = 0 THEN mem.id_post_group ELSE mem.id_group END)LEFT JOIN smf_themes AS tcust_позывн ON (tcust_позывн.variable = {string:tcust_позывн} AND tcust_позывн.id_theme = 1 AND tcust_позывн.id_member = mem.id_member)
WHERE (member_name LIKE '%ппп%' OR real_name LIKE '%ппп%' OR email_address LIKE '%ппп%' OR IFNULL(tcust_позывн.value, '') LIKE '%ппп%')
AND mem.is_activated = 1
Файл: wwwroot/Sources/Memberlist.php

stas797

Ошибка возникает из-за того, что поля в БД содержат русские буквы.