【问题标题】:HTML get request with a get in action URL带有获取操作 URL 的 HTML 获取请求
【发布时间】:2015-05-18 16:43:52
【问题描述】:

所以基本上我的路由器看起来像:

/index.php?page=/my/page.php

我根本无法改变。

我有一个必须是获取请求的表单...有没有一种简单的方法可以执行以下操作:

<form id="frmTaxTypeReport" method="get" action="/index.php?page=/my/page.php">

每次我尝试,我都会失去page=/my/page.php

如果我使用隐藏,我会得到:

page=%2Findex.php%3Fmm%3D0%26page%3D%2Freports%2FtaxReport.php

似乎逃脱了它。

【问题讨论】:

  • 您是否尝试过将您的操作设置为仅index.php 并将/my/page.php 作为命名元素page 的隐藏形式?这将对其进行 URL 编码。

标签: php html get


【解决方案1】:

为什么会这样?

将其放入隐藏字段

<form id="frmTaxTypeReport" method="get" action="/index.php">
    <input name="page" type="hidden" value="/my/page.php"/>
    ... other fields ... 
</form>

它会与表格一起发布

使用$_GET['page']访问该变量

【讨论】:

  • 有没有办法不编码所以看起来更好一点?
【解决方案2】:

您正在使用GET 请求。 GET 请求使用 URL 参数来传递数据。这些参数将混合或覆盖您传递的页面参数。为了解决这个问题,您可以使用POST 或将页面参数作为表单中的值传递,但我建议使用前者。

也就是说,如果您使用隐藏字段,则服务器不会有明显差异:

<input type="hidden" name="page" value="/my/page.php"/>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-05
    • 2013-01-05
    相关资源
    最近更新 更多