2014-06-29 33 views
0

我该如何隐藏php通知解决问题。如何解决“通知:未定义索引:...”

我的代码

if(empty($_GET['mode']) && !$_GET['page']) { 
    include($basepath.'/templates/template.home.php'); 
} 

公告:未定义的索引:在/var/www/public_html/index.php页第1行

我想这样

if(empty($_GET['mode']) && !isset($_GET['page']) && !$_GET['page']) { 
    include($basepath.'/templates/template.home.php'); 
} 

但仍显示出

注意:未定义索引:第1行的/var/www/public_html/index.php网页

我该如何解决/修复它?

回答

3

问题的是,你使用&&操作时在两个语句!$_GET['page']使用。

当您在两种情况下使用!$_GET['page']即使您添加了!isset($_GET['page']这种情况在$_GET['mode']中检查为空。

您简单的或许应该改变你的语句从:

if(empty($_GET['mode']) && !$_GET['page']) { 
    include($basepath.'/templates/template.home.php'); 
} 

if(empty($_GET['mode']) && !isset($_GET['page'])) { 
    include($basepath.'/templates/template.home.php'); 
} 

在这种情况下简单,如果$_GET['page']未设置(当然模式是空的),你应该包括网页模板

+0

非常好的解释,但最后提到'$ _GET ['page']'缺少一个撇号。 :) – ljacqu

+0

@ljacqu谢谢。我刚修好了 –

+0

谢谢,很好的详细答案。 – AMB

0

无论modepage不存在数组$_GET中 - 所以你需要测试它使用array_key_exists

相关问题