PHP Notice: undefined index xxx (转)

PHP Notice: undefined index xxx  

平时用$_GET[‘xx’] 或者 $_POST['xx'] 取页面传递的参数值时,如果对应的参数值不存在,一般就会在页面上显示如下提示输出:

     PHP Notice: undefined index xx
虽然这个不是什么严重的错误提示,并且也可以通过设置PHP解析器配置的错误显示方式来隐藏这个提示。但是如果这样做,会让服务器的日志中因大量存在这些提示记录,导致日志文件异常庞大!那么有什么其他的解决办法呢?
下面是列举了网上流行的解决方法:

首先,这个不是错误,是warning,正如前面所提到的,可以通过修改PHP配置文件加以屏蔽。但是如果不修改服务器的PHP配置信息,可以手动把每个变量在使用前先定义或者进行使用前的判断。
方法1:服务器配置修改。修改php.ini配置文件,error_reporting = E_ALL & ~E_NOTICE
方法2:对变量进行初始化,规范书写(比较烦琐,因为要在编写代码使用任何没有在当前定义的变量时都要确认变量已经赋值)。
方法3:每个文件头部加上:error_reporting(0); 如果不行,只有打开php.ini,找到display_errors,设置为display_errors = Off。以后任何错误都不会提示。

方法4 :做判断:isset($_GET["page"]) if-else判断 

可以将这个功能定义成一个函数:
function _get($str){
    $val = !empty($_GET[$str]) ? $_GET[$str] : null;
    return $val;
}

或者加上'@'表示这行如果有错误或是警告不要輸出

如:@$page=$_GET["page"]
posted @ 2013-04-17 16:29  ps十一郎  阅读(210)  评论(0编辑  收藏  举报