如何解决“注意:未定义的索引:......”

时间:2014-06-29 17:12:25

标签: php notice

如何通过解决问题隐藏php通知。

我的代码

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

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

我试过这个

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

但仍显示

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

我该如何解决/修复它?

2 个答案:

答案 0 :(得分: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'](当然模式为空),则应包含主页模板

答案 1 :(得分:0)

数组mode中不存在page$_GET - 因此您需要使用array_key_exists

进行测试