PHP Notice undefined index 原因及解决方法

发布时间:2022-01-17T21:58:15 PHP

平时用$_GET[‘xx’] 取得参数值时,如果之前不加判断在未传进参数时会出现这样的警告:

PHP Notice: undefined index xxx

虽然可以通过设置错误显示方式来隐藏这个提示,但是这样也有隐患,就是在服务器的日志中会记录这些提示,导致日志文件异常庞大!
下面是引用网上流行的解决方法:

一般遇到这样的问题,有两个方法:
1、如果有服务器权限,直接把服务器上的php.ini的配置改了,改成不输出Warning和Notice级别的报错。
修改php.ini的error_reporting 配置参数值为:

error_reporting = E_ALL & ~E_NOTICE

当然,改完php.ini是需要重启web服务器配置才可以生效的。

2、如果没有服务器权限,在出问题的php文件头部里入加入下面这行代码(在其他位置也可以,只要在报错前加上这句代码到php文件就好,如果你用的web系统是单一入口的,在入口处加上这一句就好了):

error_reporting(0);

首先,这个不是错误,是warning。所以如果服务器不能改,每个变量使用前应当先定义。

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

或者加上'@'表示这行如果有错误或是警告不要輸出
如:@$page=$_GET["page"]