说我有一个表格:
<form action="form.PHP?redirect=false" method="post"> <input type="hidden" name="redirect" value="true" /> <input type="submit" /> </form>
在form.PHP上:
var_dump($_GET['redirect']) // false var_dump($_POST['redirect']) // true var_dump($_REQUEST['redirect']) // true
如果要在$_REQUEST数组中更改$_GET优先级超过$_POST,请更改PHP.ini中的
request_order指令.
默认值为:
request_order = "GP"
P代表POST,G代表GET,后面的值具有优先权,因此在此配置中,查询字符串中的值将覆盖POST在$_REQUEST数组中传递的值.如果你想要POST覆盖GET值,只需像下面那样切换它们:
request_order = "PG"
您需要重新启动webserver / PHP才能生效.
(编辑使用更合适的request_order作为Brad建议,而不是variables_order)