基本上我的路由器是这样的:
/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"/>