PHP Undefined index报错的修复方法


Posted in PHP onJuly 17, 2011

虽然可以通过设置错误显示方式来隐藏这个提示,但是这样也有隐患,就是在服务器的日志中会记录这些提示,导致日志文件异常庞大。

首先,这个不是错误,是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 相关文章推荐
php+jquery编码方面的一些心得(utf-8 gb2312)
Oct 12 PHP
用PHP实现的四则运算表达式计算实现代码
Aug 02 PHP
php中将数组存到文件里的实现代码
Jan 19 PHP
深入PHP5中的魔术方法详解
Jun 17 PHP
PHP使用stream_context_create()模拟POST/GET请求的方法
Apr 02 PHP
php版微信开发之接收消息,自动判断及回复相应消息的方法
Sep 23 PHP
PHP中递归的实现实例详解
Nov 14 PHP
thinkPHP框架实现生成条形码的方法示例
Jun 06 PHP
laravel 之 Eloquent 模型修改器和序列化示例
Oct 17 PHP
php把文件设置为插件的技巧方法
Feb 03 PHP
PHP获取当前时间不准确问题解决方案
Aug 14 PHP
微信小程序和php的登录实现
Apr 01 PHP
php max_execution_time执行时间问题
Jul 17 #PHP
PHP写杨辉三角实例代码
Jul 17 #PHP
php中截取中文字符串的代码小结
Jul 17 #PHP
9个PHP开发常用功能函数小结
Jul 15 #PHP
PHP 字符串正则替换函数preg_replace使用说明
Jul 15 #PHP
php入门学习知识点八 PHP中for循环基本应用之九九乘法口绝表
Jul 14 #PHP
php入门学习知识点七 PHP函数的基本应用
Jul 14 #PHP
You might like
php设置编码格式的方法
2013/03/05 PHP
Codeigniter中mkdir创建目录遇到权限问题和解决方法
2014/07/25 PHP
浅析php原型模式
2014/11/25 PHP
Symfony2实现在controller中获取url的方法
2016/03/18 PHP
Jquery 高亮显示文本中重要的关键字
2009/12/24 Javascript
关于window.pageYOffset和document.documentElement.scrollTop
2011/04/05 Javascript
jquery下jstree简单应用 - v1.0
2011/04/14 Javascript
在linux中使用包管理器安装node.js
2015/03/13 Javascript
JavaScript函数使用的基本教程
2015/06/04 Javascript
JS实现的四级密码强度检测功能示例
2017/05/11 Javascript
nodejs集成sqlite使用示例
2017/06/05 NodeJs
Node.js pipe实现源码解析
2017/08/12 Javascript
jQuery选择器之属性过滤选择器详解
2017/09/28 jQuery
微信小程序导入Vant报错VM292:1 thirdScriptError的解决方法
2019/08/01 Javascript
vue实现两个组件之间数据共享和修改操作
2020/11/12 Javascript
[34:39]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#1COL VS EG第二局
2016/03/05 DOTA
Python NumPy库安装使用笔记
2015/05/18 Python
解决python 无法加载downsample模型的问题
2018/10/25 Python
解决每次打开pycharm直接进入项目的问题
2018/10/28 Python
解决pycharm下os.system执行命令返回有中文乱码的问题
2019/07/07 Python
在PyCharm中遇到pip安装 失败问题及解决方案(pip失效时的解决方案)
2020/03/10 Python
opencv 阈值分割的具体使用
2020/07/08 Python
Python批量删除mysql中千万级大量数据的脚本分享
2020/12/03 Python
一加手机美国官方网站:OnePlus美国
2019/09/19 全球购物
试用期自我鉴定范文
2014/03/20 职场文书
环保倡议书范文
2014/05/12 职场文书
企业承诺书怎么写
2014/05/24 职场文书
喝酒驾驶检讨书
2014/10/01 职场文书
工伤事故证明
2014/10/20 职场文书
全国助残日活动总结
2015/05/11 职场文书
离婚律师函范本
2015/05/27 职场文书
《夸父追日》教学反思
2016/02/20 职场文书
创业计划书之健康营养产业
2019/10/15 职场文书
JavaScript阻止事件冒泡的方法
2021/12/06 Javascript
springboot用户数据修改的详细实现
2022/04/06 Java/Android
mysql中关键词exists的用法实例详解
2022/06/10 MySQL