【问题标题】:How can I pass a simple search query into the URL?如何将简单的搜索查询传递到 URL?
【发布时间】:2012-06-01 10:07:13
【问题描述】:

我的网站上有一个搜索表单, 我想将表单中的文本传递给 URL, 比如:mysite.com/search.php?q=apples(如果搜索词是苹果)。
我认为人们可以通过这种方式为他们的搜索添加书签。

我认为的一个解决方案是在 search.php 中捕获搜索词,然后重新加载到新制作的 URL 中。但是像这样重新加载并不是很优雅。那么我该怎么做——我的意思是,它通常是怎么做的?我需要使用 jQuery 吗?

澄清:我知道如何从 php.ini 中的 URL 获取变量。我需要的是控制用户按下SUBMIT时将打开的URL,并且该URL需要包含用户的搜索词!就像 Google 或 DuckDuckGo 一样,我输入“apples”,然后 URL 变为 ...?q=apples。但是——怎么样?! (当然,我会在 search.php 中找到它,但我知道该怎么做。)这就是我现在所拥有的:

<div id="topnav">
<form action="search.php" method="post">
<input name="searchword" type="text">
<input type="submit">
</form>

非常感谢。

【问题讨论】:

  • 可以,可以使用$.post请求并返回结果。
  • 您是在问如何处理 表单提交之后的 url,以便用户仍然可以添加书签吗?
  • 你必须研究一下 HTTP 请求的 GET 和 POST 之间的区别

标签: php jquery forms url variables


【解决方案1】:

阅读说明后。您需要的是一个提交到您的 search.php 的搜索表单,例如:

<form action="search.php" method="get">
<input type="text" value="search word" name="q" />
<input type="submit" value="submit" />
</form>

这会将输入中名为 q 的任何值传递给 search.php 脚本。

【讨论】:

  • 它会将其传递给 search.php 还是 URL?因为我需要它去 URL 以便用户可以为他的查询添加书签。非常感谢!
  • @KnutOle 是的,它会转到 URL,因为您使用的是“获取”方法。
  • 好吧,我会的!谢谢! “get”做到了!
【解决方案2】:

如果您发布的 HTML 表单包含名称为“q”和值为“apples”的文本字段,则浏览器会自动创建所需的 URL。你绝对不需要 JQuery。

【讨论】:

    【解决方案3】:

    如何使用 POST-Redirect-GET 模式? [http://en.wikipedia.org/wiki/Post/Redirect/Get] 还有http://blog.andreloker.de/post/2008/06/Post-Redirect-Get.aspx

    这将允许您将 url 保留在浏览器中:

    yoursite.com/search.php?q=apples
    

    或者,您可以使用javascript在浏览器中设置url的location.hash,其中包含回发后的查询信息;我怀疑这实际上是 Google 所做的。

    例如,

    yoursite.com/search.php#apples
    

    【讨论】:

      【解决方案4】:

      所以表单动作是search.php,字段是q,方法是Get?

      如果我了解您要实现的目标,您应该能够从 html 表单中处理所有这些。

      【讨论】:

        【解决方案5】:

        如果你有一个表单,那么必须声明表单方法POST/GET

        在你search.php你可以简单地这样做$_POST['name of the input field']来获取单词字符串,

        如果你想在 url 中传递变量,那么你需要通过 &lt;a href="you URL"&gt;Link &lt;/a&gt; 创建一个 link

        【讨论】:

          猜你喜欢
          • 2020-08-21
          • 2010-12-03
          • 1970-01-01
          • 2019-02-14
          • 2019-11-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多