使用$ _REQUEST []有什么问题?
我在这里看到许多帖子说不要使用该$_REQUEST
变量。我通常不这样做,但有时很方便。它出什么问题了?
回答:
但绝对没有错,采取从两个输入$_GET
,并$_POST
在组合方式。实际上,这就是您几乎总是想做的:
对于通常通过GET提交的纯幂等请求,您想要的数据量可能无法容纳在URL中,因此实际上已将其更改为POST请求。
对于真正生效的请求,您必须检查它是否由POST方法提交。但是,这样做的方法是
$_SERVER['REQUEST_METHOD']
显式检查,而不是依靠$_POST
为GET清空。而且无论如何,如果方法是POST
,您仍可能要从URL中取出一些查询参数。
不,问题与$_REQUEST
合并GET和POST参数无关。默认情况下,它也包含$_COOKIE
。Cookie实际上根本不像表单提交参数:您几乎永远都不想将它们视为同一事物。
如果您不小心在网站上设置了一个与表单参数之一同名的cookie,那么由于cookie值覆盖了预期参数,依赖该参数的表单将神秘地停止正常工作。如果您在同一站点上有多个应用程序,则这非常容易做,并且当您只有几个用户使用旧Cookie时,您将很难再进行调试,而当您不再使用旧Cookie来破坏表格时,这种调试非常困难-
另一个可以复制。
您可以使用PHP5.3中的request_order配置将此行为更改为更明智的GP
(否C
)顺序。在无法做到这一点的地方,我个人会避免使用,如果需要组合的GET +POST数组,请手动创建。$_REQUEST
以上是 使用$ _REQUEST []有什么问题? 的全部内容, 来源链接: utcz.com/qa/399035.html