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 相关文章推荐
ASP知识讲座四
Oct 09 PHP
如何开发一个虚拟域名系统
Oct 09 PHP
php mssql 时间格式问题
Jan 13 PHP
php printf输出格式使用说明
Dec 05 PHP
PHP高级对象构建 工厂模式的使用
Feb 05 PHP
php一个找二层目录的小东东
Aug 02 PHP
set_exception_handler函数在ThinkPHP中的用法
Oct 31 PHP
php+ajax实现无刷新分页的方法
Nov 04 PHP
php实现检查文章是否被百度收录
Jan 27 PHP
PHP自毁程序(慎用)
Jul 09 PHP
又拍云异步上传实例教程详解
Apr 19 PHP
PHP实现长轮询消息实时推送功能代码实例讲解
Feb 26 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
再说下636单管机
2021/03/02 无线电
php小技巧 把数组的键和值交换形成了新的数组,查找值取得键
2011/06/02 PHP
解析php多线程下载远程多个文件
2013/06/25 PHP
全面了解PHP中的全局变量
2016/06/17 PHP
Javascript 网页水印(非图片水印)实现代码
2010/03/01 Javascript
为JavaScript提供睡眠功能(sleep) 自编译JS引擎
2010/08/16 Javascript
最好用的省市二级联动 原生js实现你值得拥有
2013/09/22 Javascript
解决json日期格式问题的3种方法
2014/02/02 Javascript
node.js中的fs.linkSync方法使用说明
2014/12/15 Javascript
Node.js中child_process实现多进程
2015/02/03 Javascript
使用jquery插件qrcode生成二维码
2015/10/22 Javascript
NodeJS服务器实现gzip压缩的示例代码
2018/10/12 NodeJs
关于vue-cli 3配置打包优化要点(推荐)
2019/04/22 Javascript
vue中的v-model原理,与组件自定义v-model详解
2020/08/04 Javascript
Python 面向对象 成员的访问约束
2008/12/23 Python
Python字符串、整数、和浮点型数相互转换实例
2018/08/04 Python
Python3进制之间的转换代码实例
2019/08/24 Python
Python实现读取并写入Excel文件过程解析
2020/05/27 Python
Django实现文章详情页面跳转代码实例
2020/09/16 Python
高清屏中使用Canvas绘图出现模糊的问题及解决方法
2019/06/03 HTML / CSS
NBA欧洲商店(西班牙):NBA Europe Store ES
2019/04/16 全球购物
Osklen官方在线商店:巴西服装品牌
2019/04/25 全球购物
世界汽车零件:World Car Parts
2019/09/04 全球购物
Mountain Hardwear官网:攀岩服装和户外装备
2019/09/26 全球购物
澳大利亚香水在线商店:City Perfume
2020/09/02 全球购物
宏碁西班牙官网:Acer西班牙
2021/01/08 全球购物
请编写一个 C 函数,该函数在给定的内存区域搜索给定的字符,并返回该字符所在位置索引值
2014/09/15 面试题
什么是"引用"?申明和使用"引用"要注意哪些问题?
2016/03/03 面试题
优秀毕业自我鉴定
2014/02/15 职场文书
2014年大班元旦活动方案
2014/02/26 职场文书
2014年大学生四年规划书范文
2014/04/03 职场文书
毕业生求职信范文
2014/06/29 职场文书
个人整改措施落实情况汇报
2014/10/29 职场文书
国庆节慰问信
2015/02/15 职场文书
2016春季幼儿园大班开学寄语
2015/12/03 职场文书
windows系统安装配置nginx环境
2022/06/28 Servers