Отправка формы поиска, но также имеющая строку запроса на PHP (и JS)

#php #javascript #forms

#php #javascript #формы

Вопрос:

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

Часто на других сайтах, когда я ищу что-то в форме, я вижу свои условия поиска в строке запроса, что удобно для создания закладок / обмена ссылкой с кем-либо.

например-

  http://grooveshark.com/#/search?q=name of band
  

Как строка запроса создается из отправки формы?

Комментарии:

1. Пожалуйста, обратите внимание, что этот URL-адрес типа hash (#) или hash bang (#!) считается взломанным. Хотя это хак, используемый Google и Twitter. История сеансов HTML5 должна уменьшить потребность в такого рода вещах. w3.org/TR/html5/history.html Кроме того, нужно ли вам это в данном случае? Почему бы просто не использовать стандартную строку запроса?

2. Я действительно не изучал HTML5 и историю сеансов, поэтому не знал об этом, но единственная причина, по которой я вижу, что использую свой путь, — это закладки / отправка ссылок другим людям.

3. Вам не нужно использовать # в URL для достижения этой цели, если ваш сайт не написан в основном на Javascript, убедитесь, что вы понимаете, что такое # в URL.

4. Ах .. я вас неправильно понял. Я действительно не обращал на них внимания, и, поскольку я, кажется, подбираю вещи только по мере необходимости для своих проектов, я с ними не сталкивался. Небольшое исследование показывает, что они не рекомендуются, спасибо за совет.

Ответ №1:

Измените свою форму, чтобы использовать метод get вместо post, или добавьте атрибут ниже, если его там еще нет.

<form name="test" action="some/page.php" method="get">

Комментарии:

1. Кажется таким очевидным! Спасибо за вашу помощь

Ответ №2:

Строка запроса создается агентом пользователя путем обработки данных формы. Подробнее об этом можно прочитать здесь .

Комментарии:

1. Спасибо, интересно посмотреть.