$_GET 包含 URL 字符串,实际查询参数被清空 -- Codeigniter
$_GET contains URL string, and the actual query params are emptied -- Codeigniter
我一直在开发一个网络应用程序,之前我无法联系到的人 built/worked 使用过该应用程序。
我相信我们目前使用的是 CI_VERSION 1.7.0。
我已经确保 enable_query / allow_get_array 配置变量都是正确的。
我可以在 header(查询字符串参数)中看到正确的值。
下面的问题示例:
//E.g.
//URL: http://www.fakeURL.com/something/stuff?color=blue&gender=boy
var_dump($_GET);
// array(1) { '/something/stuff' => string(0) "" }
尝试使用内置 class 获取 url 参数:输入。
$p = $this->input->get();
var_dump($p);
Codeigniter 建议这样做。例如,您不能使用此函数两次获取参数,因为它第二次被清空。所以我们不知道他们是如何管理参数的。
在 CI 的早期版本中,$_GET
数组在重写 URL 之后包含请求的 controller/method(详见 this answer), the rest of the info in it was stored in the input class and removed (see the legacy docs)。
正如其他答案所述,您需要使用 $this->input->get();
,它将包含原始的 $_GET
参数。
我最终使用了这个解决方案,在此处找到:
我会说这更像是一个 'work-around' 而不是解决方案,但我现在不能再花时间在这上面了。
感谢大家的宝贵建议。希望有一天这对其他人也有用。
我一直在开发一个网络应用程序,之前我无法联系到的人 built/worked 使用过该应用程序。
我相信我们目前使用的是 CI_VERSION 1.7.0。
我已经确保 enable_query / allow_get_array 配置变量都是正确的。 我可以在 header(查询字符串参数)中看到正确的值。
下面的问题示例:
//E.g.
//URL: http://www.fakeURL.com/something/stuff?color=blue&gender=boy
var_dump($_GET);
// array(1) { '/something/stuff' => string(0) "" }
尝试使用内置 class 获取 url 参数:输入。
$p = $this->input->get();
var_dump($p);
Codeigniter 建议这样做。例如,您不能使用此函数两次获取参数,因为它第二次被清空。所以我们不知道他们是如何管理参数的。
在 CI 的早期版本中,$_GET
数组在重写 URL 之后包含请求的 controller/method(详见 this answer), the rest of the info in it was stored in the input class and removed (see the legacy docs)。
正如其他答案所述,您需要使用 $this->input->get();
,它将包含原始的 $_GET
参数。
我最终使用了这个解决方案,在此处找到:
我会说这更像是一个 'work-around' 而不是解决方案,但我现在不能再花时间在这上面了。
感谢大家的宝贵建议。希望有一天这对其他人也有用。