PHP ZEND $ _GET提供未定义的索引

时间:2017-08-11 18:28:02

标签: php zend-framework get

所以我正在编辑我公司的一个网站。我对Zend的工作方式并不是很熟悉,但我找不到解决这个问题的方法。

我们有两个不同的网站,一个我可以自由编辑和测试的登台网站,以及公众可以查看的实时版本。当我创建一个新的控制器/视图时,我使用$ _GET数据来处理某些表单。它在测试结束时按预期工作,但由于某种原因生产结束不起作用。经过一些测试后,我发现$ _GET数据实际上并没有被发送,因此我的脚本会启动我(因为它的设计目的)。

网址看起来像这样:

/admin/something/update?data=20

所以我像往常一样检查$ _GET:

if ( isset($_GET) && !empty($_GET["data"]) ) {
  // do something
} else {
  // redirect the user
}

如果没有$ _GET数据(并且数据不包含值),它总是会重定向。

所以我调试并发现这是$ _GET在print_r之后的样子,尽管URL明显包含$ _GET数据,但我获得的是一个空数组。

这可能是我对Zend处理GET和POST数据的有限知识(因为我几乎保留了我对旧式PHP的编辑),所以对此的任何亮点都会很棒。感谢。

1 个答案:

答案 0 :(得分:1)

您的.htaccess文件似乎有些问题。 可能是SEO的一些额外重写规则。

你可以添加和试用,或者应该工作,

RewriteRule . index.php?url=$1 [PT,L,QSA]

或者,

RewriteRule ^(.*)$ %{ENV:BASE}/index.php [L]

为了获得价值,你应该使用,

 if(isset($_GET['data']) && $_GET['data']){
            var_dump($_GET['data']);exit;
        }