当前位置: 首页 > 面试题库 >

使用$ _REQUEST []有什么问题?

怀洛华
2023-03-14
问题内容

我在这里看到许多帖子说不要使用该$_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



 类似资料:
  • 问题内容: 我有Ubuntu 10.10和apache2,php 5.3.3-1和mysql 5.1。 我正在通过URL向页面传递一些值。在该页面上,如果我这样做了,那么我会看到数组的内容。但是,如果我这样做数组是空的。任何想法为什么会这样? 问题答案: 也可以尝试检查php.ini中的“ request_order” 选项:

  • 问题内容: 我简直不敢相信我网站上正在发生的事情。当我添加此行时: 一切正常。如果我不这样做,CSS就会“混乱”,一切都会变得不同,布局也会变得“丑陋”。 这条线如何解决所有问题? 问题答案: 您正在将HTML与XHTML混合使用。 通常,声明用于区分HTMLish语言的版本(在这种情况下为HTML或XHTML)。 不同的标记语言将表现不同。我最喜欢的例子是。在浏览器中查看以下内容: XHTML

  • 问题内容: 关于python 3.0中reduce()函数的更改以及如何删除它,网上似乎有很多热烈的讨论。我有点难以理解为什么会这样。我发现在各种情况下使用它是很合理的。如果蔑视仅仅是主观的,我无法想象会有这么多人关心它。 我想念什么?reduce()有什么问题? 问题答案: 正如Guido在Python 3000 帖子中的reduce()的命运中所说: 所以现在reduce()。实际上,这是我一

  • 问题内容: 最近,我在一些最差的PHP实践中阅读了此线程。在第二个答案中,有一个关于的使用的简短讨论,我只是想知道所有有关的内容。 我个人使用它来切分给定的数组,例如或稍后在其中清理变量,因为它们已为我方便地命名。 这是不好的做法吗?这有什么风险?您对的使用有何看法? 问题答案: 我发现这只是一种不好的做法,因为它会导致许多变数,将来的维护者(或您自己在几周内)都不知道它们的来源。考虑这种情况:

  • 问题内容: 该代码在第一个“等级”之后保持两次打印。有谁知道为什么要打印两次?我做错了“ For Loop”吗? 问题答案: 这是“两次打印”,因为当您按回车键输入一个字符时,实际上是在写两个字符:您键入的字符和(换行符)。 添加第二个调用以读取换行符: 同样,不需要初始化为in 也可以。实际上,在此循环中使用a没有意义,首选使用a 。

  • 问题内容: 我正在尝试使用openFileOutput函数,但它无法编译且无法识别该函数。我正在使用android sdk 1.6。这是SDK问题吗?这是参数问题吗? 问题答案: 您的方法应如下。将额外的上下文作为参数。对于这种方法,您可以通过您的服务或活动