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获取后台Job管理的实现代码
Jun 10 PHP
php判断输入不超过mysql的varchar字段的长度范围
Jun 24 PHP
PHP+Mysql+jQuery实现发布微博程序 jQuery篇
Oct 08 PHP
CodeIgniter使用phpcms模板引擎
Nov 12 PHP
PHP把JPEG图片转换成Progressive JPEG的方法
Jun 30 PHP
CodeIgniter实现从网站抓取图片并自动下载到文件夹里的方法
Jun 17 PHP
php设置页面超时时间解决方法
Sep 22 PHP
php获取文件后缀的9种方法
Mar 22 PHP
php版微信js-sdk支付接口类用法示例
Oct 12 PHP
win10 apache配置虚拟主机后localhost无法使用的解决方法
Jan 27 PHP
PHP设计模式之工厂模式(Factory Pattern)的讲解
Mar 21 PHP
PHP 枚举类型的管理与设计知识点总结
Feb 13 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简洁函数小结
2011/08/12 PHP
WordPress中编写自定义存储字段的相关PHP函数解析
2015/12/25 PHP
php微信浏览器分享设置以及回调详解
2016/08/01 PHP
PHP实现批量清空删除指定文件夹所有内容的方法
2017/05/30 PHP
php解决crontab定时任务不能写入文件问题的方法分析
2019/09/16 PHP
VBScript版代码高亮
2006/06/26 Javascript
Ajax+Json 级联菜单实现代码
2009/10/27 Javascript
控制input输入框中提示信息的显示和隐藏的方法
2014/02/12 Javascript
JSONP跨域GET请求解决Ajax跨域访问问题
2014/12/31 Javascript
js实现鼠标悬停图片上时滚动文字说明的方法
2015/02/17 Javascript
js实现文本框支持加减运算的方法
2015/08/19 Javascript
JavaScrip调试技巧之断点调试
2015/10/22 Javascript
jquery mobile实现可折叠的导航按钮
2017/03/11 Javascript
详解Vue.use自定义自己的全局组件
2017/06/14 Javascript
详解React Native 采用Fetch方式发送跨域POST请求
2017/11/15 Javascript
解决Vue axios post请求,后台获取不到数据的问题方法
2018/08/11 Javascript
React 实现拖拽功能的示例代码
2019/01/06 Javascript
nodejs npm错误Error:UNKNOWN:unknown error,mkdir 'D:\Develop\nodejs\node_global'at Error
2019/03/02 NodeJs
vue中axios请求的封装实例代码
2019/03/23 Javascript
vue实现页面滚动到底部刷新
2019/08/16 Javascript
vue 导航内容设置选中状态样式的例子
2019/11/01 Javascript
JSONP 的原理、理解 与 实例分析
2020/05/16 Javascript
[02:04]2020年夜魇暗潮预告片
2020/10/30 DOTA
介绍Python的Django框架中的QuerySets
2015/04/20 Python
Python中的数据对象持久化存储模块pickle的使用示例
2016/03/03 Python
python实现数据导出到excel的示例--普通格式
2018/05/03 Python
解决python nohup linux 后台运行输出的问题
2018/05/11 Python
python实现微信每日一句自动发送给喜欢的人
2019/04/29 Python
python 求某条线上特定x值或y值的点坐标方法
2019/07/09 Python
pycharm创建scrapy项目教程及遇到的坑解析
2019/08/15 Python
django实现用户注册实例讲解
2019/10/30 Python
python numpy库np.percentile用法说明
2020/06/08 Python
英国音乐设备和乐器商店:Gear4music
2017/10/16 全球购物
用JAVA实现一种排序,JAVA类实现序列化的方法(二种)
2014/04/23 面试题
长城英文导游词
2015/01/30 职场文书