background image

PHP 报错:Notice Undefined index 解决

Notice: Undefined index: ,出现这种错误通常是你的 PHP 报错级别设置太高但是编
码又不规范所致。比如,在进行变量判定时:
if ( $_REQUEST['action'] == "login" )
{
define( "JIEQI_NEED_SESSION", 1 );
}

如果$_REQUEST['action']事先未定义就可能抱这种错误。解决方案有三个:
1、使用 isset 函数
if ( isset($_REQUEST['action'])&&$_REQUEST['action'] == “login” )
{
define( “JIEQI_NEED_SESSION”, 1 );
}
2 、 修 改 报 错 级 别 , 在 脚 本 之 前 添 加 一 行 代 码 : error_reporting(E_ALL  & ~ 
E_NOTICE);
3、通过修改 php.ini 来更改报错级别
打开 php.ini,查找
; Common Values:
;   E_ALL   &   ~E_NOTICE   (Show   all   errors,   except   for   notices   and   coding 
standards warnings.)
; E_ALL & ~E_NOTICE | E_STRICT (Show all errors, except for notices)
;

 

E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR 

(Show only errors)
; E_ALL | E_STRICT (Show all errors, warnings and notices including coding 
standards.)
; Default Value: E_ALL & ~E_NOTICE
; Development Value: E_ALL | E_STRICT
; Production Value: E_ALL & ~E_DEPRECATED
; http://php.net/error-reporting
在 这 段 代 码 下 面 有 一 行 error_reporting =,修改为 error_reporting =E_ALL & ~ 
E_NOTICE 即可,如果这一行前面有分号,记得把分号去掉。这个办法是一劳永逸的。修
改保存后,需要重启 apache!