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 相关文章推荐
批量修改RAR文件注释的php代码
Nov 20 PHP
php一次性删除前台checkbox多选内容的方法
Sep 22 PHP
php curl post 时出现的问题解决
Jan 30 PHP
php获取表单中多个同名input元素的值
Mar 20 PHP
Laravel 4 初级教程之视图、命名空间、路由
Oct 30 PHP
PHP 读取和编写 XML
Nov 19 PHP
正确的PHP匹配UTF-8中文的正则表达式
May 13 PHP
教你识别简单的免查杀PHP后门
Sep 13 PHP
thinkPHP模板算术运算相关函数用法分析
Jul 12 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
Feb 06 PHP
Laravel多域名下字段验证的方法
Apr 04 PHP
php解析非标准json、非规范json的方式实例
Dec 10 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
人工智能开始玩《星际争霸2》 你的操作跟得上吗?
2017/08/11 星际争霸
可以在线执行PHP代码包装修正版
2008/03/15 PHP
收集的二十一个实用便利的PHP函数代码
2010/04/22 PHP
PHP 数据结构 算法描述 冒泡排序 bubble sort
2011/07/10 PHP
php字符编码转换之gb2312转为utf8
2013/10/28 PHP
Yii实现复选框批量操作实例代码
2017/03/15 PHP
解决php 处理 form 表单提交多个 name 属性值相同的 input 标签问题
2017/05/11 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
2018/02/07 PHP
js资料prototype 属性
2007/03/13 Javascript
Jquery数独游戏解析(一)-页面布局
2010/11/05 Javascript
javascript学习笔记(十五) js间歇调用和超时调用
2012/06/20 Javascript
JSON 的正确用法探讨:Pyhong、MongoDB、JavaScript与Ajax
2016/05/15 Javascript
javascript设计模式之单体模式学习笔记
2017/02/15 Javascript
javascript获取以及设置光标位置
2017/02/16 Javascript
微信小程序使用picker实现时间和日期选择框功能【附源码下载】
2017/12/11 Javascript
Angular实现的内置过滤器orderBy排序与模糊查询功能示例
2017/12/29 Javascript
JavaScript继承与多继承实例分析
2018/05/26 Javascript
vue头部导航动态点击处理方法
2018/11/02 Javascript
Nodejs libuv运行原理详解
2019/08/21 NodeJs
vue实现输入一位数字转汉字功能
2019/12/13 Javascript
JavaScript实现点击切换验证码及校验
2021/01/10 Javascript
[01:34]DOTA2 7.22版本新增神杖效果一览(敏捷英雄篇)
2019/05/28 DOTA
Python爬虫抓取代理IP并检验可用性的实例
2018/05/07 Python
详解Python给照片换底色(蓝底换红底)
2019/03/22 Python
Python基于Opencv来快速实现人脸识别过程详解(完整版)
2019/07/11 Python
pytorch dataloader 取batch_size时候出现bug的解决方式
2020/02/20 Python
如何利用Python 进行边缘检测
2020/10/14 Python
详解Java中一维、二维数组在内存中的结构
2021/02/11 Python
html5的pushstate以及监听浏览器返回事件的实现
2020/08/11 HTML / CSS
2014党员民主评议个人思想剖析发言
2014/09/19 职场文书
2014年驾驶员工作总结
2014/11/18 职场文书
校运会宣传稿大全
2015/07/23 职场文书
学习社交礼仪心得体会
2016/01/22 职场文书
实用求职信模板范文
2019/05/13 职场文书
CSS3实现指纹特效代码
2022/03/17 HTML / CSS
十大最强妖精系宝可梦,哲尔尼亚斯实力最强,第五被称为大力士
2022/03/18 日漫