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常用代码
Nov 23 PHP
PHP通过COM使用ADODB的简单例子
Dec 31 PHP
中英文字符串翻转函数
Dec 09 PHP
PHP array_push 数组函数
Dec 26 PHP
PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
May 29 PHP
php中session_unset与session_destroy的区别分析
Jun 16 PHP
利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法
Dec 19 PHP
基于PHP字符串的比较函数strcmp()与strcasecmp()的使用详解
May 15 PHP
php的$_FILES的临时储存文件与回收机制实测过程
Jul 12 PHP
一个显示效果非常不错的PHP错误、异常处理类
Mar 21 PHP
php使用环形链表解决约瑟夫问题完整示例
Aug 07 PHP
php输出文字乱码的解决方法
Oct 04 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
造势之举?韩国总统候选人发布《星际争霸》地图
2017/04/22 星际争霸
PHP使用array_fill定义多维数组的方法
2015/03/18 PHP
php回调函数处理数组操作示例
2020/04/13 PHP
Nigma vs Alliance BO5 第五场2.14
2021/03/10 DOTA
常用简易JavaScript函数
2009/04/09 Javascript
js change,propertychange,input事件小议
2011/12/20 Javascript
js时间日期和毫秒的相互转换
2013/02/22 Javascript
JQuery制作的放大效果的popup对话框(未添加任何jquery plugin)分享
2013/04/28 Javascript
javaScript 页面自动加载事件详解
2014/02/10 Javascript
js流动式效果显示当前系统时间
2016/05/16 Javascript
jQuery中Find选择器用法示例
2016/09/21 Javascript
JavaScript基础之流程控制语句的用法
2017/08/31 Javascript
浅谈Node.js 中间件模式
2018/06/12 Javascript
快速解决vue-cli在ie9+中无效的问题
2018/09/04 Javascript
详解如何解决Vue和vue-template-compiler版本之间的问题
2018/09/17 Javascript
[00:12]DAC2018 天才少年转战三号位,他的SOLO是否仍如昔日般强大?
2018/04/06 DOTA
在Python中使用模块的教程
2015/04/27 Python
Python找出文件中使用率最高的汉字实例详解
2015/06/03 Python
Python中的if、else、elif语句用法简明讲解
2016/03/11 Python
Python爬虫实例_利用百度地图API批量获取城市所有的POI点
2018/01/10 Python
Django自定义manage命令实例代码
2018/02/11 Python
python制作mysql数据迁移脚本
2019/01/01 Python
python绘制直方图和密度图的实例
2019/07/08 Python
Python大数据之从网页上爬取数据的方法详解
2019/11/16 Python
Idea安装python显示无SDK问题解决方案
2020/08/12 Python
澳大利亚墨水站Ink Station:墨水和碳粉打印机墨盒
2019/03/24 全球购物
舞蹈比赛获奖感言
2014/02/04 职场文书
西式结婚主持词
2014/03/14 职场文书
食品安全工作实施方案
2014/03/26 职场文书
乒乓球兴趣小组活动总结
2014/07/08 职场文书
干部考察材料范文
2014/12/24 职场文书
小学感恩节活动总结
2015/03/24 职场文书
政府会议通知范文
2015/04/15 职场文书
《春酒》教学反思
2016/02/22 职场文书
毕业欢送晚会主持词
2019/06/25 职场文书
oracle设置密码复杂度及设置超时退出的功能
2022/06/28 Oracle