分类: Web
PHP Notice: undefined index解决方法

enable-displaying-php-error-on-site-801x430.jpg
在使用$_GET['xxxx']传递参数时,如果之前不加判断在未传进参数时会出现类似的警告:

PHP Notice: undefined index xxx

主要有以下解决方法:

1、在变量前加上'@'表示这行如果有错误或是警告不要輸出  
如:@$classid=$_GET["classid"]

2、做判断:isset($_GET["classid"]) if-else判断

3、每个文件头部加上:error_reporting(0); 如果不行,只有打开php.ini,找到display_errors,设置为display_errors = Off。以后任何错误都不会提示。(不推荐)

4、修改php.ini配置文件,error_reporting = E_ALL & ~E_NOTICE (不推荐)

5、直接在变量使用前先赋空值如$classid='';然后在使用$classid=$_GET["classid"];(比较繁琐)
3和4通过设置错误显示方式可以隐藏这个提示,但在服务器的日志中会记录这些提示,导致日志文件非常大,
定义_get函数:
function _get($str){
    $val = !empty($_GET[$str]) ? $_GET[$str] : null;
    return $val;
}

然后在用的时候,直接用 _get('str') 代替 $_GET['str'] ,个人推荐使用@简介方便,

发表新评论