2013-09-05 79 views
0

我在switch语句中使用$ _GET来决定在选择框中显示的选项。事情很棒,直到我将我的服务器升级到PHP 5.3.21。现在我得到未定义的索引和未定义的变量错误消息。我修改了我的代码,如果包含isset()。现在没有错误,但我无法让PHP认识到$ _GET [“menuid”}确实有价值。

http://www.example.com/mod/page/view.php?id=5100&module=1&menuid=2&module=1&page=2

代码我使用的是:那我想从变量

URL

if (isset($_GET['menuid'])) { 
    $menuid = $_GET['menuid']; 
} 
else { 
    $menuid = "not working"; 
} 

echo $menuid; 
switch($menuid) { 
    // My code 
    } 

的结果是:

“不工作”

编辑:在PHP的子var_dump($ _ GET)的结果页

array(0) { } 

编辑:PHP主页

array(4) { ["id"]=> string(4) "5100" ["module"]=> string(1) "1" ["menuid"]=> string(1) "2" ["page"]=> string(1) "2" } 

上面的var_dump是从PHP主网页的var_dump($_GET)结果。原始代码位于一个单独的PHP页面上,我使用file_get_contents();将它包含到了PHP主页面。 file_get_contents()会导致这个问题吗?

+2

后的var_dump'结果( $ _GET);' – Mansfield

+0

not workingarray(0){ } –

+0

'htaccess'可能会重写。检查'htaccess'规则 – Bora

回答

1

事实证明,file_get_contents()函数是做$ _GET无法正常工作。我已经将主PHP页面上的代码修改为require_once()。一的var_dump子PHP页面($ _ GET),我的原代码是,现在造成这样的:

array(4) { ["id"]=> string(4) "5100" ["module"]=> string(1) "1" ["menuid"]=> string(1) "2" ["page"]=> string(1) "2" } 

谢谢@Mansfield您的帮助

+0

不客气! Include/Require肯定比'file_get_contents'好。 – Mansfield