php提示undefined index的几种解决方法


Posted in PHP onMay 21, 2012

平时用$_post[''],$_get['']获取表单中参数时会出现Notice: Undefined index: --------;php提示undefined index的几种解决方法

我们经常接收表单POST过来的数据时报Undefined index错误,如下: $act=$_POST['action'];
用以上代码总是提示
Notice: Undefined index: act in D:\test\post.php on line 20
另外,有时还会出现
Notice: Undefined variable: Submit ...... 等一些这样的提示

出现上面这些是 PHP 的提示而非报错,PHP 本身不需要事先声明变量即可直接使用,但是对未声明变量会有提示。一般作为正式的网站会把提示关掉的,甚至连错误信息也被关掉。

解决方法:

方法1:服务器配置修改
修改 php.ini 中的 error配置下错误显示方式:将error_reporting = E_ALL 修改为

error_reporting = E_ALL & ~E_NOTICE

修改后重启下APCHE服务器,方可生效。

方法2:对变量进行初始化。

方法3:做判断isset($_post['']),empty($_post['']) if --else

方法4:在出现notice代码之前加上@,@表示这行有错误或是警告不要输出,@$username=$_post['username'];
在变量前面 加上一个 @ ,如 if (@$_GET['action']=='save') { ...

方法5:最后一种很实用,是别人写的一个函数,通过这个函数进行传递值。

定义一个函数:

function _get($str){ 
$val = !empty($_GET[$str]) ? $_GET[$str] : null; 
return $val; 
}

然后在用的时候,直接用 _get('str') 代替 $_GET['str'] 就行啦~

[PHP-Core-Error]

error_reporting = E_ALL & ~E_NOTICE
; 错误报告级别是位字段的叠加,推荐使用 E_ALL | E_STRICT
; 1 E_ERROR 致命的运行时错误
; 2 E_WARNING 运行时警告(非致命性错误)
; 4 E_PARSE 编译时解析错误
; 8 E_NOTICE 运行时提醒(经常是bug,也可能是有意的)
; 16 E_CORE_ERROR PHP启动时初始化过程中的致命错误
; 32 E_CORE_WARNING PHP启动时初始化过程中的警告(非致命性错)
; 64 E_COMPILE_ERROR 编译时致命性错
; 128 E_COMPILE_WARNING 编译时警告(非致命性错)
; 256 E_USER_ERROR 用户自定义的致命错误
; 512 E_USER_WARNING 用户自定义的警告(非致命性错误)
; 1024 E_USER_NOTICE 用户自定义的提醒(经常是bug,也可能是有意的)
; 2048 E_STRICT 编码标准化警告(建议如何修改以向前兼容)
; 4096 E_RECOVERABLE_ERROR 接近致命的运行时错误,若未被捕获则视同E_ERROR
; 6143 E_ALL 除E_STRICT外的所有错误(PHP6中为8191,即包含所有)

PHP 相关文章推荐
php 删除无限级目录与文件代码共享
Nov 22 PHP
UCenter Home二次开发指南
May 28 PHP
PHP中的array数组类型分析说明
Jul 27 PHP
php将mysql数据库整库导出生成sql文件的具体实现
Jan 08 PHP
2个Codeigniter文件批量上传控制器写法例子
Jul 25 PHP
php生成图片缩略图的方法
Apr 07 PHP
php原生导出excel文件的两种方法(推荐)
Nov 19 PHP
php实现微信扫码支付
Mar 26 PHP
浅谈PHP表单提交(POST&GET&URL编/解码)
Apr 03 PHP
php写app接口并返回json数据的实例(分享)
May 20 PHP
PHP实现在对象之外访问其私有属性private及保护属性protected的方法
Nov 20 PHP
使用Laravel中的查询构造器实现增删改查功能
Sep 03 PHP
openflashchart 2.0 简单案例php版
May 21 #PHP
PHP中去掉字符串首尾空格的方法
May 19 #PHP
有关PHP中MVC的开发经验分享
May 17 #PHP
php的array_multisort()使用方法介绍
May 16 #PHP
一个显示某段时间内每个月的方法 返回由这些月份组成的数组
May 16 #PHP
php array的学习笔记
May 16 #PHP
php文件操作实例代码
May 10 #PHP
You might like
NT IIS下用ODBC连接数据库
2006/10/09 PHP
php中通过smtp发邮件的类,测试通过
2007/01/22 PHP
收集的php编写大型网站问题集
2007/03/06 PHP
php的hash算法介绍
2014/02/13 PHP
PHP中static关键字以及与self关键字的区别
2015/07/01 PHP
php使用imagecopymerge()函数创建半透明水印
2018/01/25 PHP
CodeIgniter框架钩子机制实现方法【hooks类】
2018/08/21 PHP
PHP实现微信小程序用户授权的工具类示例
2019/03/05 PHP
浅析showModalDialog数据缓存问题(用禁止浏览器缓存解决)
2013/07/09 Javascript
Jquery 类网页微信二维码图块滚动效果具体实现
2013/10/14 Javascript
使用Node.js实现一个简单的FastCGI服务器实例
2014/06/09 Javascript
JS+CSS实现鼠标滑过时动态翻滚的导航条效果
2015/09/24 Javascript
jquery单击事件和双击事件冲突解决方案
2016/03/02 Javascript
使用微信小程序开发前端【快速入门】
2016/12/05 Javascript
详解微信小程序入门五: wxml文件引用、模版、生命周期
2017/01/20 Javascript
jQuery Chosen通用初始化
2017/03/07 Javascript
js CSS3实现卡牌旋转切换效果
2017/07/04 Javascript
vue.js整合vux中的上拉加载下拉刷新实例教程
2018/01/09 Javascript
对angular2中的ngfor和ngif指令嵌套实例讲解
2018/09/12 Javascript
使用JavaScript获取扫码枪扫描得到的条形码的思路代码详解
2020/06/10 Javascript
[06:45]DOTA2卡尔工作室 英雄介绍幻影长矛手篇
2013/07/12 DOTA
爬山算法简介和Python实现实例
2014/04/26 Python
python+mysql实现简单的web程序
2014/09/11 Python
深入解析Python编程中JSON模块的使用
2015/10/15 Python
Python3生成手写体数字方法
2018/01/30 Python
python中logging包的使用总结
2018/02/28 Python
python编程使用协程并发的优缺点
2018/09/20 Python
Django框架模板介绍
2019/01/15 Python
python 提取文件指定列的方法示例
2019/08/07 Python
pandas map(),apply(),applymap()区别解析
2021/02/24 Python
澳洲的服装老品牌:SABA
2018/02/06 全球购物
Hoover胡佛官网:美国吸尘器和洗地机品牌
2019/01/09 全球购物
实习自我鉴定范文
2013/10/30 职场文书
德语专业求职信
2014/03/12 职场文书
公司新员工欢迎词
2015/09/30 职场文书
Win11筛选键导致键盘失灵怎么解决? Win11关闭筛选键的技巧
2022/04/08 数码科技