【问题标题】:How to solve "Notice: Undefined index: ..."如何解决“注意:未定义的索引:...”
【发布时间】:2014-08-20 03:08:51
【问题描述】:

如何通过解决问题来隐藏 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 中的页面

我该如何解决/修复它?

【问题讨论】:

    标签: php notice


    【解决方案1】:

    modepage 不存在于数组 $_GET 中 - 因此您需要使用 array_key_exists 对其进行测试

    【讨论】:

      【解决方案2】:

      问题是您在使用&& 运算符时在两个语句中都使用!$_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'](当然模式为空),您应该包含主页模板

      【讨论】:

      • 很好的解释,但最后提到的$_GET['page'] 缺少撇号。 :)
      • @ljacqu 谢谢。我刚刚修好了
      猜你喜欢
      • 1970-01-01
      • 2013-09-06
      • 2016-07-24
      • 2015-06-02
      • 2015-12-01
      • 2013-11-27
      • 2021-09-08
      • 1970-01-01
      相关资源
      最近更新 更多