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 file_exists 检查文件或目录是否存在的函数
May 10 PHP
Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)
Jun 14 PHP
PHP中feof()函数实例测试
Aug 23 PHP
PHP+jQuery 注册模块开发详解
Oct 14 PHP
php中$_GET与$_POST过滤sql注入的方法
Nov 03 PHP
php精确的统计在线人数的方法
Oct 21 PHP
PHP实现搜索地理位置及计算两点地理位置间距离的实例
Jan 08 PHP
php 实现Hash表功能实例详解
Nov 29 PHP
php获取ajax的headers方法与内容实例
Dec 27 PHP
php成功操作redis cluster集群的实例教程
Jan 13 PHP
Laravel5.1 框架数据库操作DB运行原生SQL的方法分析
Jan 07 PHP
tp5.1 框架数据库高级查询技巧实例总结
May 25 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 地址栏信息的获取代码
2009/01/07 PHP
zend framework框架中url大小写问题解决方法
2014/08/19 PHP
JS 对象介绍
2010/01/20 Javascript
jQuery库与其他JS库冲突的解决办法
2010/02/07 Javascript
jQuery 阴影插件代码分享
2012/01/09 Javascript
Jquery异步提交表单代码分享
2015/03/26 Javascript
讲解JavaScript中for...in语句的使用方法
2015/06/03 Javascript
js实现返回顶部效果
2017/03/10 Javascript
基于LayUI实现前端分页功能的方法
2017/07/22 Javascript
webpack踩坑之路图片的路径与打包
2017/09/05 Javascript
Django使用多数据库的方法
2017/09/06 Javascript
react 应用多入口配置及实践总结
2018/10/17 Javascript
vue-cli3搭建项目的详细步骤
2018/12/05 Javascript
layui监听下拉选框选中值变化的方法(包含监听普通下拉选框)
2019/09/24 Javascript
用Javascript实现发送短信验证码间隔功能
2021/02/08 Javascript
[01:57]DOTA2上海特锦赛小组赛解说单车采访花絮
2016/02/27 DOTA
python抓取豆瓣图片并自动保存示例学习
2014/01/10 Python
Python使用CMD模块更优雅的运行脚本
2015/05/11 Python
Python 迭代器与生成器实例详解
2017/05/18 Python
Redis使用watch完成秒杀抢购功能的代码
2018/05/07 Python
Python实现带参数的用户验证功能装饰器示例
2018/12/14 Python
opencv与numpy的图像基本操作
2019/03/08 Python
Python实现爬取亚马逊数据并打印出Excel文件操作示例
2019/05/16 Python
Python reduce函数作用及实例解析
2020/05/08 Python
Django中FilePathField字段的用法
2020/05/21 Python
使用Keras预训练好的模型进行目标类别预测详解
2020/06/27 Python
Roxy美国官网:澳大利亚冲浪、滑雪健身品牌
2016/07/30 全球购物
应用英语专业自荐信
2014/01/26 职场文书
党的群众路线教育实践活动心得体会900字
2014/03/07 职场文书
社会学专业求职信
2014/07/17 职场文书
政风行风评议个人心得体会
2014/10/29 职场文书
入党积极分子半年考察意见
2015/06/02 职场文书
MySQL性能压力基准测试工具sysbench的使用简介
2021/04/21 MySQL
Python爬取用户观影数据并分析用户与电影之间的隐藏信息!
2021/06/29 Python
JavaScript中document.activeELement焦点元素介绍
2021/11/27 Javascript
Node.js实现爬取网站图片的示例代码
2022/04/04 NodeJs