Функция поиска / Быстрый поиск: Как получить входное значение HTML в переменную php $ без $ _POST или $ _GET

0

У меня есть вкладка быстрого поиска в верхней части моей меню. Он имеет текстовое поле ввода (для поиска контента) и кнопку. Когда этот пользователь в настоящее время заполняет окно и нажимает кнопку, пользователь вводится на фактическую страницу поиска.

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

Я хочу показать результаты основного поиска (с любой другой страницы, используя строку меню) при загрузке поисковой страницы без нажатия на кнопку отправки на этой странице. Это, мы надеемся, сэкономит время для пользователя (возможно, расширенный поиск не нужен). ПРИМЕЧАНИЕ. Текстовое поле расширенного фильтра, касающееся того, какой текст следует искать, автоматически заполняется содержимым из основного текстового поля поиска при нажатии кнопки основного поиска, и пользователь вводится на страницу поиска.

Однако, поскольку я не нажимаю кнопку отправки, я не могу использовать $ _POST ["searchText"] как параметр для условия if if (который отображает только результаты поиска, если пользователь вводит текст в текстовом поле), чтобы отобразить результаты поиска, Вместо этого я бы очень хотел пользователь:

! Is_null (searchText.value)

Но, очевидно, это неправильный синтаксис/не существует. У кого-нибудь есть предлагаемое решение для того, чтобы получить содержимое из HTML Input searchText в переменную PHP $?

  • 0
    Вам может понадобиться использовать Jquery, это будет что-то похожее на окно поиска автозаполнения JQuery.
  • 0
    Я не думаю, что это будет похоже на автозаполнение, это не то, что я пытаюсь сделать здесь. Я просто хочу использовать входные данные из текстового поля в условии if при загрузке страницы (только один раз) и, если он не пустой, применить эту строку в качестве фильтра
Теги:
variables
post
search

3 ответа

1
Лучший ответ

Я не совсем понимаю, почему POST/GET нельзя использовать. Когда пользователь находится на странице X, и они вводят значение поиска в строку меню, они будут отправлены на страницу поиска с поисковым запросом, переданным через GET/POST.

Это действительно зависит от вас, чтобы изменить логику на стороне сервера, чтобы немедленно выполнить поиск по этому запросу и показать результаты, а не показывать более расширенные параметры фильтра поиска (или показать дополнительные параметры в дополнение к результату поиска). Вам не требуется второе сообщение со страницы поиска на сервер, чтобы инициировать функцию поиска.

  • 0
    Да, я только что проверил код и осуществляю свой поиск, основываясь на том, какой входной параметр он получил (от какой кнопки он получил $ _POST).
0

Таким образом, на странице расширенного поиска вы смотрите на следующее:

<input type='text' name='searchText' value='<?php echo (isset() ? htmlentities($_POST['searchText'], ENT_QUOTES) : ''; ?>' />

Я думаю, что htmlentities там верен, но я могу ошибаться.

Эхо на самом деле троичное. Я считаю, что isset(), вероятно, эквивалент, который вы ищете. В принципе, он проверяет, установлен ли $_POST['searchText'], и либо перекликается с содержимым этого, либо вообще ничего.

$_POST и $_GET - это глобальные переменные, поэтому вы можете просто проверить их с помощью isset(). Однако для ваших собственных массивов вам нужно проверить с помощью array_key_exists('key', $array) перед проверкой с isset($array['key']).

0

$_REQUEST["name"] Заменяет как POST и GET

<form action="#" method="POST">
<input type="text" name="one">
<input type="submit" />
</form>
<form action="#" method="GET">
<input type="text" name="one">
<input type="submit" />
</form>

<?php
if(isset($_REQUEST["one"])){echo $_REQUEST["one"];}
?>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню