带有get in action URL的HTML get请求


HTML get request with a get in action URL

基本上我的路由器是这样的:

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

我一点也改变不了。

我有一个表单,必须是一个get请求…是否有一种简单的方法来做这样的事情:

<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

为什么呢?

放到一个隐藏字段

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

它会和Form

一起发布

使用$_GET['page']

访问该变量

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

也就是说,如果您使用隐藏字段,对服务器来说不会有明显的区别:

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