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 相关文章推荐
substr()函数中文版
Oct 09 PHP
常见的PHP五种设计模式小结
Mar 23 PHP
PHP数组循环操作详细介绍 附实例代码
Feb 03 PHP
PHP以指定字段为索引返回数据库所取的数据数组
Jun 30 PHP
PHP CURL获取cookies模拟登录的方法
Nov 04 PHP
PHP5各个版本的新功能和新特性总结
Mar 16 PHP
php获取中文拼音首字母类和函数分享
Apr 24 PHP
通过Email发送PHP错误的方法
Jul 20 PHP
通过修改配置真正解决php文件上传大小限制问题(nginx+php)
Sep 23 PHP
Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
Oct 11 PHP
PHP使Laravel为JSON REST API返回自定义错误的问题
Oct 16 PHP
TP5框架实现自定义分页样式的方法示例
Apr 05 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
一个用于MySQL的PHP XML类
2006/10/09 PHP
小偷PHP+Html+缓存
2006/11/25 PHP
php下图片文字混合水印与缩略图实现代码
2009/12/11 PHP
ThinkPHP3.2.3数据库设置新特性
2015/03/05 PHP
使用PHP编写发红包程序
2015/07/22 PHP
项目中应用Redis+Php的场景
2016/05/22 PHP
PHP如何使用JWT做Api接口身份认证的实现
2020/02/03 PHP
jQuery实现可拖动的浮动层完整代码
2013/05/27 Javascript
js中如何复制一个对象并获取其所有属性和属性对应的值
2013/10/24 Javascript
jquery动态增加删除表格行的小例子
2013/11/14 Javascript
jQuery防止click双击多次提交及传递动态函数或多参数
2014/04/02 Javascript
将页面table内容与样式另存成excel文件的方法
2015/08/05 Javascript
JavaScript字符串对象
2017/01/14 Javascript
深入理解vue路由的使用
2017/03/24 Javascript
vue axios 二次封装的示例代码
2017/12/08 Javascript
vue项目实现减少app.js和vender.js的体积操作
2020/11/12 Javascript
[02:19]DOTA选手解说齐贺岁
2018/02/11 DOTA
利用python模拟实现POST请求提交图片的方法
2017/07/25 Python
Python中列表与元组的乘法操作示例
2018/02/10 Python
Python3.6基于正则实现的计算器示例【无优化简单注释版】
2018/06/14 Python
django 中QuerySet特性功能详解
2019/07/25 Python
DJango的创建和使用详解(默认数据库sqlite3)
2019/11/18 Python
python读取tif图片时保留其16bit的编码格式实例
2020/01/13 Python
在主流系统之上安装Pygame的方法
2020/05/20 Python
python matplotlib工具栏源码探析二之添加、删除内置工具项的案例
2021/02/25 Python
解决pytorch 保存模型遇到的问题
2021/03/03 Python
世界上最好的旅行夹克:BauBax
2018/12/23 全球购物
酒店销售主管岗位职责
2014/01/04 职场文书
马智宇婚礼主持词
2014/03/22 职场文书
学校群众路线专项整治方案
2014/10/31 职场文书
五年级学生评语大全
2014/12/26 职场文书
情人节单身感言
2015/08/03 职场文书
服务行业标语口号
2015/12/26 职场文书
Python爬虫之爬取最新更新的小说网站
2021/05/06 Python
MySQL系列之十 MySQL事务隔离实现并发控制
2021/07/02 MySQL
「天才王子的赤字国家重生术」妮妮姆·拉雷粘土人开订
2022/03/21 日漫