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 开源AJAX框架14种
Aug 24 PHP
发款php蜘蛛统计插件只要有mysql就可用
Oct 12 PHP
优化php效率,提高php性能的一些方法
Mar 24 PHP
php学习之运算符相关概念
Jun 09 PHP
php文件操作实例代码
May 10 PHP
PHP登录环节防止sql注入的方法浅析
Jun 30 PHP
php+ajax实现无刷新分页的方法
Nov 04 PHP
PHP实现仿Google分页效果的分页函数
Jul 29 PHP
php好代码风格的阶段性总结
Jun 25 PHP
PHP实现的超长文本分页显示功能示例
Jun 04 PHP
对laravel的csrf 防御机制详解,及form中csrf_token()的存在介绍
Oct 24 PHP
在phpstudy集成环境下的nginx服务器下配置url重写
Dec 02 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
怎样在UNIX系统下安装MySQL
2006/10/09 PHP
基于PHP CURL用法的深入分析
2013/06/09 PHP
Laravel框架实现redis集群的方法分析
2017/09/14 PHP
php文件包含的几种方式总结
2019/09/19 PHP
php的instanceof和判断闭包Closure操作示例
2020/01/26 PHP
javascript 语法基础 想学习js的朋友可以看看
2009/12/16 Javascript
Jquery 插件开发笔记整理
2011/01/17 Javascript
silverlight线程与基于事件驱动javascript引擎(实现轨迹回放功能)
2011/08/09 Javascript
Javascript 异步加载详解(浏览器在javascript的加载方式)
2012/05/20 Javascript
深入理解Javascript里的依赖注入
2014/03/19 Javascript
javascript基本包装类型介绍
2015/04/10 Javascript
详解从angular-cli:1.0.0-beta.28.3升级到@angular/cli:1.0.0
2017/05/22 Javascript
详解Angular的8个主要构造块
2017/06/20 Javascript
JS动态添加的div点击跳转到另一页面实现代码
2017/09/30 Javascript
swiper自定义分页器使用方法详解
2020/09/14 Javascript
vue弹窗消息组件的使用方法
2020/09/24 Javascript
angularjs通过过滤器返回超链接的方法
2018/10/26 Javascript
KOA+egg.js集成kafka消息队列的示例
2018/11/09 Javascript
js实现提交前对列表数据的增删改查
2020/01/16 Javascript
python遍历文件夹并删除特定格式文件的示例
2014/03/05 Python
python自动化测试之连接几组测试包实例
2014/09/28 Python
用Python实现换行符转换的脚本的教程
2015/04/16 Python
python sqlite的Row对象操作示例
2019/09/11 Python
浅谈PyTorch的可重复性问题(如何使实验结果可复现)
2020/02/20 Python
动态设置django的model field的默认值操作步骤
2020/03/30 Python
PHP基于phpqrcode类库生成二维码过程解析
2020/05/28 Python
使用CSS3实现一个3D相册效果实例
2016/12/03 HTML / CSS
HTML5拖放API实现拖放排序的实例代码
2017/05/11 HTML / CSS
美国专注于健康商品的网站:eVitamins
2017/01/23 全球购物
网上常见的一份Linux面试题(多项选择部分)
2015/02/07 面试题
网络教育自我鉴定
2014/02/04 职场文书
大学自主招生自荐信范文
2014/02/26 职场文书
2014年连锁店圣诞节活动方案
2014/12/09 职场文书
法律意见书范本
2015/06/04 职场文书
晚会开幕词范文
2016/03/04 职场文书
tomcat下部署jenkins的方法
2022/05/06 Servers