【问题标题】:Post form while retaining get variables在保留获取变量的同时发布表单
【发布时间】:2009-09-30 04:43:40
【问题描述】:

这看起来很简单,但我不记得我以前是怎么做的。

我使用 PHP 从 mysite.com/?x=y 发布一个表单,并希望生成的页面是 mysite.com/?x=y&formx=formy...

我尝试过的选项并没有给出想要的结果:

action - 如果method="get" 代替表单中的变量,则设置action="?x=y" 会清除get 变量。还需要事先了解 get 变量。

方法 - 虽然设置method="get" 似乎是合乎逻辑的,但这会传递表单变量但会清除任何放置在操作中的变量。设置method="post" 会保留当前的get 变量,但不会添加表单变量/值。

隐藏字段 - 所有获取变量/值都可以在带有method="get" 的隐藏字段中。如果有很多变量或表单,这需要获取变量的先验知识和大量重复。 这是迄今为止最接近的解决方案。

【问题讨论】:

    标签: php forms post get


    【解决方案1】:

    只需将表单的“method”属性设置为“get”而不是“post”即可。

    例子:

    <form action="?x=y" method="get">
    <input type="text" name="query" size="20">
    <input type="submit" name="submit" value="Go">
    </form>
    

    【讨论】:

      【解决方案2】:

      我想你可以:

      • 将这些变量作为&lt;input type="hidden" name="x" vaue="y" /&gt; 传递到您的表单中。
      • 或者,也许这可能有效:使用“mysite.com/?x=y”作为您的表单action:运气好的话,当浏览器发布您的表单时,这些参数将保留 - 您应该尝试,但它可能工作。

      当然,如果您希望这些参数出现在目标页面的 URL 中,您必须在表单中使用 GET method

      【讨论】:

        猜你喜欢
        • 2010-09-26
        • 1970-01-01
        • 2012-06-19
        • 2018-10-20
        • 1970-01-01
        • 1970-01-01
        • 2014-01-22
        • 2014-09-21
        • 1970-01-01
        相关资源
        最近更新 更多