Из Яндекс карт постоянно выкидывает в «задан пустой поисковый запрос». (заявка № 97798)
Junior Member Регистрация 26.10.2009 Адрес Москва Сообщений 3 Вес репутации 53
Из Яндекс карт постоянно выкидывает в «задан пустой поисковый запрос».
После входа в Яндекс/карта Москвы, сразу или через некоторое время оно выкидывает в пустое окно «задан пустой поисковый запрос», причём набрать какой либо маршрут ещё не успеваешь, а если и успел, то всёравно выкидывает туда же. Обновление Mozilla Firefox и её adobe flash-player 10.2.152.26 не помогло. За подсказку буду признателен, но если всё же будете что-то объяснять, то пишите пожалуйста как для дебила страдающего компьютерным кретинизмом, т.е. пошагово (. /. /. и.т.д.).
Будь в курсе! Будь в курсе!
Надоело быть жертвой? Стань профи по информационной безопасности, получай самую свежую информацию об угрозах и средствах защиты от ведущего российского аналитического центра Anti-Malware.ru:
10.02.2011, 05:12 #2
Senior Member Регистрация 26.12.2006 Адрес Vladivostok Сообщений 23,298 Вес репутации 1578
I am not young enough to know everything.
Надеемся больше никогда не увидеть ваш компьютер зараженным! Если Вас не затруднит, пополните пожалуйста нашу базу безопасных файлов.
- Навигация по форуму
- Мой кабинет
- Личные сообщения
- Подписки
- Кто на форуме
- Поиск по форуму
- Главная страница форума
- Разделы
- Форум на русском языке
- Помогите!
- Помогите+
- Помощь в расшифровке файлов
- Аудит защищенности персонального компьютера
- Инструкции и объявления
- Лечение и защита сайтов от вирусов
- Лечение и защита мобильных устройств
- Чаво
- VirusDetector — Бесплатный онлайн-сервис проверки компьютера
- Статистика VirusDetector
- Отчеты сервиса лечения VirusInfo
- Основы информационной безопасности
- Общая сетевая безопасность
- А правда ли, что.
- Microsoft Windows
- Windows для опытных пользователей
- Linux
- Mac OS
- Общая сетевая безопасность
- Угрозы информационной безопасности
- Вредоносные программы
- Описания вредоносных программ
- Шифровальщики
- Сетевые атаки
- Спам и мошенничество в сети
- Вредоносные программы
- Решения по информационной безопасности
- Антивирусы
- Online сервисы. Проверки и тесты
- Антируткиты
- Ложные срабатывания
- Межсетевые экраны (firewall)
- Антиспам
- Другие программы по безопасности
- Публичное бета-тестирование
- Антивирусы
- Новости
- Высокие технологии
- Новости аппаратного обеспечения
- Новости программного обеспечения
- Новости интернет-пространства
- Новости компьютерной безопасности
- Уязвимости
- Другие новости
- Аналитика
- Тестирование
- Монитор VirusInfo
- Ежемесячные отчеты
- Еженедельные отчёты
- Наши статьи
- Разное
- Аппаратное обеспечение
- Маршрутизаторы (routers), модемы xDSL
- Софт — общий
- Оффтоп
- Интервью
- Юмор
- Опросы
- Аппаратное обеспечение
- Работа проекта
- Информационные сообщения
- Обучение
- Технические и иные вопросы
- Информационные сообщения
- Forum in English
- Malware Removal Service
- Internet security for beginners
- Computer security
- Viruses, Adware, Spyware, Hijackers
- Custom descriptions of malware
- Microsoft Windows
- Microsoft Windows for professionals
- FAQ
- Computer security: software
- AntiViruses, Anti-Adware / Spyware / Hijackers
- Firewalls
- Beta Testing
- Other security software
- News
- Internet
- Hi-Tech
- Vulnerabilities
- Computer security news
- Other news
- Offtopic
- Offtopic
- Portable Digital Assistants (PDA)
- Polls
- Project performance
- Site
- Forum
Как правильно обработать пустой запрос поиска в wordpress?
Поисковой запрос удовлетворяется, если что-то не нашлось по запросу,то срабатывает второе условие if.
Но если отправить пустуой запрос, то возвращает ссылку на главную страницу либо ссылку на страницу поиска, (шаблон вывода результатов поиска). То есть каким-то образом результат пустого запроса проходит через цикл, выводя при этом ссылку на пост (при этом этом это ссылка на главную страницу либо страницу поиска)
Может есть какой-то способ нормально это обыграть, чтобы при пустом запросе так же срабатывало второе условие if ,как и при условии что ничего не найдено
- Вопрос задан более трёх лет назад
- 1498 просмотров
Задан пустой поисковый запрос: что это значит
Поисковые системы, такие как Яндекс или Google, стали неотъемлемой частью нашей повседневной жизни. Мы используем их для поиска нужной информации, товаров и услуг, ответов на различные вопросы. Однако иногда вместо ожидаемых результатов поиска мы видим сообщение «Задан пустой поисковый запрос» или на английском «Empty search query».
Эта ошибка означает, что по каким-то причинам поисковая система не получила от пользователя запрос для поиска и не может выдать результаты. В статье мы разберем наиболее распространенные причины возникновения этой ошибки и способы ее устранения.
Таким образом вы сможете быстро решить проблему и снова пользоваться всеми преимуществами поиска в Интернете.
Причины ошибки «Задан пустой поисковый запрос»
Ошибка «Задан пустой поисковый запрос» может возникнуть по разным причинам:
- Пользователь действительно ввел пустой запрос в строку поиска и нажал кнопку «Найти».
- В браузере возникли неполадки, из-за которых запрос не доходит до поисковой системы.
- Поисковая система временно недоступна из-за технических проблем на ее стороне.
К основным причинам относятся проблемы на стороне пользователя и браузера. Рассмотрим их подробнее.
Причина | Пояснение |
Пустой запрос | Пользователь не ввел текст в строку поиска, а сразу нажал кнопку «Найти» |
Неполадки браузера | Сбои в работе браузера приводят к тому, что запрос не отправляется |
Также стоит проверить настройки расширений браузера, которые могут блокировать запросы к поисковику. В редких случаях причиной может быть недоступность самого поисковика.
Как исправить ошибку «Пустой запрос»
Чтобы избавиться от ошибки «Задан пустой поисковый запрос», нужно выяснить ее причину и устранить ее:
- Проверьте, введен ли текст запроса в строку поиска. Если строка пустая, введите ключевые слова.
- Очистите кэш и cookie-файлы браузера. Это поможет избавиться от ошибок и некорректной работы браузера.
- Перезагрузите страницу. Иногда этого достаточно, чтобы запрос заработал.
- Проверьте работу расширений и приложений в браузере. Возможно, какое-то из них блокирует запросы к поисковику. Временно отключите подозрительные расширения.
- Попробуйте выполнить поиск в другом браузере. Если в нем ошибка не возникает, проблема в вашем основном браузере.
- Сбросьте настройки браузера к начальным. Это поможет, если проблема вызвана изменениями в настройках.
- Переустановите браузер. Это крайняя мера, если подозреваете серьезные неисправности в работе приложения.
- Подождите некоторое время и повторите запрос. Возможно, временные технические проблемы на стороне поисковика уже устранены.
Если ни один из способов не помог решить проблему, обратитесь в службу поддержки используемого браузера или поисковой системы.
После устранения неполадок рекомендуется очистить историю запросов, чтобы избежать повторения ошибки.
Рекомендации по предотвращению проблемы «Задан пустой поисковый запрос»
Чтобы избежать ошибки «Задан пустой поисковый запрос» в дальнейшем, придерживайтесь следующих рекомендаций:
- Всегда проверяйте, что в строке поиска присутствует текст запроса перед нажатием кнопки «Найти».
- Регулярно очищайте кэш и cookie-файлы браузера. Это поможет поддерживать стабильную работу браузера.
- Обновляйте браузер и устанавливайте последние версии расширений. Это снизит вероятность ошибок.
- Отслеживайте, какие расширения или приложения вы установили перед возникновением ошибки «Пустой запрос». Неполадки могут быть связаны с определенным ПО.
- Используйте проверенные и популярные браузеры, меньше подверженные сбоям в работе.
- Не меняйте множество настроек браузера за короткий промежуток времени. Это может привести к конфликтам.
Также имеет смысл периодически делать полную переустановку браузера. Это позволит очистить его от различных ошибок, которые накапливаются при длительном использовании.
Старайтесь не допускать повторения пустых запросов после получения ошибки. Лучше сразу ввести корректный поисковый запрос.
Альтернативные способы поиска информации
Если ошибка «Задан пустой поисковый запрос» возникает постоянно и мешает нормальному поиску, можно воспользоваться альтернативными способами получения информации:
- Используйте другие поисковые системы, например, Google, Bing, Yahoo. Если проблема только в одном поисковике, другие могут работать нормально.
- Воспользуйтесь поиском непосредственно на популярных сайтах — Wikipedia, YouTube, Twitter, Reddit. Многие ресурсы имеют собственные эффективные поисковые системы.
- Ищите информацию в тематических справочниках, энциклопедиях, словарях. Выбирайте авторитетные профильные ресурсы.
- Обратитесь к специалистам в нужной вам области, задайте интересующие вопросы на форумах, в группах в социальных сетях.
- Попросите помощи у друзей и знакомых, которые разбираются в интересующей вас теме. Личная консультация тоже ценный источник знаний.
Также поисковую систему можно использовать через мобильное приложение или голосовой помощник, если проблема только в браузерной версии.
Конечно, это не так удобно, как привычный поиск через Яндекс или Google. Но альтернативные способы позволят получить нужную информацию, пока идет решение проблемы ошибки «Пустой запрос».
Поисковик по пользователям
На сайте имеются пользователя, пытаюсь сделать поисковик по пользователям, чтоб нашел по имени, фамилии, городу и чтобы выводил ссылкой на страницы, а данный код у меня не работает, не находит, БД подключена.
Слишком короткий поисковый запрос.'; > else if (strlen($query) > 128) < $text = 'Слишком длинный поисковый запрос.
'; > else < $q = "SELECT `surname`, `name`, `city`, `id` FROM `users` WHERE `text` LIKE '%$query%' OR `name` LIKE '%$query%' OR `surname` LIKE '%$query%' OR `meta_d` LIKE '%$query%'"; $result = mysql_query($q); if (mysql_affected_rows() >0) < $row = mysql_fetch_assoc($result); $num = mysql_num_rows($result); $text = 'По запросу '.$query.' найдено совпадений: '.$num.'
'; do < // Делаем запрос, получающий ссылки на статьи $q1 = "SELECT `id` FROM `users` WHERE `id` = '$row[page_id]'"; $result1 = mysql_query($q1); if (mysql_affected_rows() >0) < $row1 = mysql_fetch_assoc($result1); >$text .= ' href="'.$row1['link'].'/'.$row['category'].'/'.$row['id'].'" title="'.$row['title_link'].'">'.$row['title'].'
'.$row['desc'].'
'; > while ($row = mysql_fetch_assoc($result)); > else < $text = 'По вашему запросу ничего не найдено.
'; > > > else < $text = 'Задан пустой поисковый запрос.
'; > return $text;
Отслеживать
задан 14 июн 2014 в 0:19
159 2 2 серебряных знака 13 13 бронзовых знаков
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Одна из важных техник, которую в программировании необходимо осваивать с самого начала — это декомпозиция, разбиение задачи на подзадачи. Обычно задача разбивается не на самые мелкие подзадачи, а на функциональные блоки, которые, в свою очередь, также могут разбиваться, и так хоть до бесконечности.
Декомпозиция позволяет выделить эти функциональные блоки, обернуть их в функции и вынести из основного кода. Именно так получается, что мы работаем со строками и не вынуждены напрямую дергать процессор, чтобы получить какое-то значение (если только не пишем на ассемблере) — мы работаем со строковыми функциями.
Конкретно вашу задачу можно разбить так:
- Поиск пользователя
- Валидация поисковой строки
- Проверка на пустоту
- Проверка на слишком маленькую длину
- Проверка на слишком большую длину
- Подключение к базе данных
- Выполнение запроса
- Получение результата
- Закрытие подключения
- Вывод лейаута (общего стиля сайта)
- Вывод шаблона страницы поиска
- Вывод данных или сообщения валидации
Все это (почти все) сейчас реализуется в одной функции, что увеличивает связность кода, препятствует рефакторингу и еще много умных слов — все это в результате дает а) необходимость править функцию поиска при любой правке шаблона / запроса поиска / правил валидации, б) уменьшение концентрации (я не шучу) — при работе с этой функцией приходится отвлекаться на те вещи, которые не имеют отношения к текущим правкам, в) потерю времени, когда таких функций становится много, и поиск местанахождения того или иного куска кода становится проблемой, г) проблемы с отладкой из-за недостаточной изолированности (предположим, что mysql багнулась и не выполняет почему-то запрос — перейти на другой движок будет сложно).
Что будет, если разбить эту большую функцию на много мелких? Она будет выглядеть примерно вот так:
function actionSearch($query) < // Пускай validate_search_query возвращает true, если все окей, и массив ошибок, если окей не все $validationResult = validate_search_query($query); if ($validationResult !== true) < $data = array('errors' =>$validationResult); > else < // Пускай возвращает или массив ['errors' =>[]] или ['users' => []] $data = find_users_by_query($query); > // Запускаем рендеринг шаблона с полученными данными, будь то ошибки или нужные данные. Шаблон уже сам разберется об удачности или неудаче поиска по наличию элемента 'errors' в массиве. render('search', $data); >
(на самом деле в процедурном программировании сведения об ошибках будут доставаться немного иначе, но для примера сойдет)
Если привести функцию к такому виду, то при наличии проблем с поиском можно будет копать не ее всю, а непосредственно find_users_by_query() , смотреть на ее вывод и не задумываться ни о че остальном.
Теперь что до существующей функции:
$row = mysql_fetch_assoc($result); $num = mysql_num_rows($result); . do < . >while ($row = mysql_fetch_assoc($result));
это очень жесткий антипаттерн. Во-первых, человек, глядящий на do .. while не понимает, как цикл выполняется в первый раз (ведь $row появится только тогда, когда цикл дойдет до while ), во-вторых, никто не гарантирует, что мускуль вернул данные вообще, и
$row = mysql_fetch_assoc($result);
имеет полное право не сработать, если нашлось ноль строк.
Реальная же проблема, насколько понимаю, кроется в этой строчке:
if (mysql_affected_rows() > 0)
affected rows — это количество измененных строк, т.е. количество добавленных, обновленных или удаленных строк; в этом запросе таких нет, поэтому результат этой функции будет продолжать возвращать вам ноль, и условия не будет выполняться. Вам нужна mysql_num_rows() , которая зачем-то лежимт чуть ниже.
$q1 = "SELECT `id` FROM `users` WHERE `id` = '$row[page_id]'";
не имеет никакого смысла, так как выбирает, по факту, $row[‘page_id’] . Это имело бы смысл для проверки существования пользователя, но т.к. эти данные получены от движка БД, он уже гарантированно существует.
Если переписывать критическую часть функции, то она будет выглядеть так:
$result = mysql_query($q); $numRows = mysql_num_rows($result); if ($numRows > 0) < $text = "
По запросу $query найдено $numRows совпадений.
"; while ($row = mysql_fetch_assoc($result)) < $text .= ''; $text .= ''; $text .= $row['name'].' '.$row['surname']; $text .= ''; $text .= '
'; > > else < $text = 'По вашему запросу ничего не найдено.
'; >p.s. c индентацией в этот раз гораздо лучше
- Валидация поисковой строки