【问题标题】:Getting data from both $_POST and $_GET [closed]从 $_POST 和 $_GET 获取数据 [关闭]
【发布时间】:2014-07-24 13:44:16
【问题描述】:

我要做的是识别输入入口点。那些是 $_POST 和 $_GET。如何同时从两者获取数据?

如果我执行以下操作:

foreach (array_merge($_POST, $_GET) as $entryPoint) {
    $data = $entryPoint;
}

$array = array($_POST, $_GET); foreach($array as $element){
        $data = entryPoint;
}

如果 $_POST 和 $_GET 中有重复的键,这将忽略 $_POST 中的键。以下内容也无法正常工作。

foreach ($_POST as $entryPoint) {
    $data = $entryPoint;
}

if (!isset($data)){
    foreach ($_GET as $entryPoint) {
        $data = $entryPoint;
    }
}

【问题讨论】:

  • 使用$_REQUEST
  • 你想达到什么目的?
  • 如何确认“找到”了哪些数据?你的输入值是多少?你期望从中得到什么输出?你实际上得到了什么输出?
  • 请:任何时候您在这里说“不起作用”或“不起作用”时,请考虑将其替换为您预期会发生的事情,确切发生的事情,如果可能的话,你用来发现的代码。
  • 您知道您在每次循环迭代中都会覆盖$data,最后$data 将只包含最后一个值,对吧?由于您没有展示您对 $data 所做的事情,因此目前只能说 是的,这不会有任何作用。

标签: php validation


【解决方案1】:

虽然根据您的 PHP 配置并不总是可用,但有一个名为 $_REQUEST 的超级全局变量可能包含 $_POST$_GET$_COOKIE 的组合。要了解有关其可用性的各种注意事项,请从此处开始:

http://php.net/manual/en/reserved.variables.request.php

【讨论】:

  • 在什么配置下 $_REQUEST 不可用?
  • 啊,明白了,所以你可以配置内容(尽管 $_REQUEST 仍然总是可用,尽管它可能是空的,对吧?)如果 $_REQUEST 中没有任何内容,那么根据定义,赢了也不是 $_POST 或 $_GET 中的任何内容...
  • @MattGibson 是的,好点。从文档中我不清楚它是否会被取消设置,或者只是空的。我假设当它说“设置为 '' 将意味着没有设置超全局变量”时,他们指的是 $_REQUEST,但再读一遍,从上下文来看,他们似乎只是指其他的。
  • 是的,我就是这么读的。但它需要重新阅读才能弄清楚:)
猜你喜欢
  • 2014-02-24
  • 1970-01-01
  • 2012-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-07
  • 1970-01-01
相关资源
最近更新 更多