所以我正在编辑我公司的一个网站。我对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的编辑),所以对此的任何亮点都会很棒。感谢。
答案 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;
}