PHP Undefined index报错的修复方法

 更新时间:2011年07月17日 01:15:21   作者:  
用$_GET["xx"]这种形式取得数据时,如果之前不加判断,$_GET["xx"]不存在时会出现这样的警告:PHP Notice: undefined index xxx。
虽然可以通过设置错误显示方式来隐藏这个提示,但是这样也有隐患,就是在服务器的日志中会记录这些提示,导致日志文件异常庞大。

首先,这个不是错误,是warning。所以如果服务器不能改,每个变量使用前应当先定义。网上流行的解决方法有以下几种:

方法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判断。或者加上'@'表示这行如果有错误或是警告不要输出。如:@$page=$_GET["page"]
方法5:file1.php文件把$xx变量付一个值,用post 传递给file2.php,如果file2.php没有$xx的定义,而直接使用$yy=$xx; 系统就会报错:"undifined variaable $xx", 如果file2.php的文件开始用$xx="";定义,那么file1.php的$xx值就传不过来了。file2.php里可以这样:if(!isset($xx)) $xx="";
如果你觉得上面的方法不怎么好用,也可以用下面的方法:
复制代码 代码如下:

function _get($str){
$val = !empty($_GET['str']) ? $_GET['str'] : null;
return $val;
}

定义这样的一个函数,然后在用的时候,直接用 _get('str') 代替 $_GET['str'] 就行啦~这样会方便些。

相关文章

  • PHP COOKIE设置为浏览器进程

    PHP COOKIE设置为浏览器进程

    首先,设置浏览器进程的“Cookie 过期的时间”这个值并不是当前Unix时间戳+0,如果设置为浏览器进程的话,直接将过期时间设置为0即可。
    2009-06-06
  • PHP中实现Bloom Filter算法

    PHP中实现Bloom Filter算法

    这篇文章主要介绍了PHP中实现Bloom Filter算法,本文直接给出实现代码,代码中给出详细注释,Bloom Filter算法介绍等内容,需要的朋友可以参考下
    2015-03-03
  • 解析php扩展php_curl.dll不加载的解决方法

    解析php扩展php_curl.dll不加载的解决方法

    本篇文章是对php扩展php_curl.dll不加载的解决方法进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP实现蛇形矩阵,回环矩阵及数字螺旋矩阵的方法分析

    PHP实现蛇形矩阵,回环矩阵及数字螺旋矩阵的方法分析

    这篇文章主要介绍了PHP实现蛇形矩阵,回环矩阵及数字螺旋矩阵的方法,结合具体实例形式分析了蛇形矩阵,回环矩阵及数字螺旋矩阵的概念、表示方法及php实现技巧,需要的朋友可以参考下
    2017-05-05
  • Windows 下的 PHP-PEAR 安装方法

    Windows 下的 PHP-PEAR 安装方法

    发现自己的 Windows 下的 PHP 环境没有安装 pear ,于是从网上找到了这个安装文件:go-pear.php
    2010-11-11
  • 利用discuz实现PHP大文件上传应用实例代码

    利用discuz实现PHP大文件上传应用实例代码

    论坛的附件功能当初设计的初衷并不是为了文件管理,由于服务器配置,php,网络等多方面因素,使得通过论坛上传文件并不是一个好方案。
    2008-11-11
  • php简单静态页生成过程

    php简单静态页生成过程

    一直用smarty的cache,但感觉还是要自己做一个,才有感觉。网上有很多牛人的功能比较完备,打算先自己搞简单的再慢慢丰满。这两天做了一个比较简单的,在hi.baidu.net/alex_wang58记录一下。
    2008-03-03
  • PHP编码规范-php coding standard

    PHP编码规范-php coding standard

    标准化问题在某些方面上让每个人头痛,让人人都觉得大家处于同样的境地。这有助于让这些建议在许多的项目中不断演进,许多公司花费了许多星期逐子字逐句的进行争论。
    2007-03-03
  • jQuery+php简单实现全选删除的方法

    jQuery+php简单实现全选删除的方法

    这篇文章主要介绍了jQuery+php简单实现全选删除的方法,涉及php结合jQuery操作表单的全选及ajax交互实现删除的相关技巧,需要的朋友可以参考下
    2016-11-11
  • php编程实现获取excel文档内容的代码实例

    php编程实现获取excel文档内容的代码实例

    最近刚刚做了个导入excle文件,群发短信的功能,在这里总结下用php获取excle文件数据的方法
    2011-06-06

最新评论