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 相关文章推荐
Banner程序
Oct 09 PHP
php和js交互一例-PHP教程,PHP应用
Jan 03 PHP
基于simple_html_dom的使用小结
Jul 01 PHP
PHP 面向对象程序设计(oop)学习笔记 (四) - 异常处理类Exception
Jun 12 PHP
php抽象类使用要点与注意事项分析
Feb 09 PHP
PHP+Mysql+jQuery文件下载次数统计实例讲解
Oct 10 PHP
PHP入门教程之操作符与控制结构流程详解
Sep 09 PHP
在Mac OS下搭建LNMP开发环境的步骤详解
Mar 10 PHP
thinkPHP5.0框架引入Traits功能实例分析
Mar 18 PHP
PHP随机获取未被微信屏蔽的域名(微信域名检测)
Mar 19 PHP
php实现不通过扩展名准确判断文件类型的方法【finfo_file方法与二进制流】
Apr 18 PHP
PHP 计算至少是其他数字两倍的最大数的实现代码
May 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
理解和运用PHP中的多态性[译]
2011/08/02 PHP
php使用反射插入对象示例分享
2014/03/11 PHP
Yii使用migrate命令执行sql语句的方法
2016/03/15 PHP
Laravel Eloquent分表方法并使用模型关联的实现
2019/11/25 PHP
php7 list()、session及其他模块的修改实例分析
2020/05/25 PHP
JS提交并解析后台返回的XML的代码
2008/11/03 Javascript
Jquery 表单取值赋值的一些基本操作
2009/10/11 Javascript
firefox下对ajax的onreadystatechange的支持情况分析
2009/12/14 Javascript
优化javascript的执行速度
2010/01/23 Javascript
style、 currentStyle、 runtimeStyle区别分析
2010/08/01 Javascript
页面加载完毕后滚动条自动滚动一定位置
2014/02/20 Javascript
javascript调试之DOM断点调试法使用技巧分享
2014/04/15 Javascript
js实现屏幕自适应局部代码分享
2015/01/30 Javascript
JS实现侧边栏鼠标经过弹出框+缓冲效果
2017/03/29 Javascript
vue.js中mint-ui框架的使用方法
2017/05/12 Javascript
JS实现常见的查找、排序、去重算法示例
2018/05/21 Javascript
Angular6 写一个简单的Select组件示例
2018/08/20 Javascript
vue-cli3 配置开发与测试环境详解
2019/05/17 Javascript
vue 实现滚动到底部翻页效果(pc端)
2019/07/31 Javascript
VUEX-action可以修改state吗
2019/11/19 Javascript
Python格式化压缩后的JS文件的方法
2015/03/05 Python
在MAC上搭建python数据分析开发环境
2016/01/26 Python
使用Python从零开始撸一个区块链
2018/03/14 Python
python爬虫实现中英翻译词典
2019/06/25 Python
Tensorflow与Keras自适应使用显存方式
2020/06/22 Python
对pytorch中x = x.view(x.size(0), -1) 的理解说明
2021/03/03 Python
Boutique 1美国:阿联酋奢侈时尚零售商
2017/10/16 全球购物
英国玛莎百货美国官网:Marks & Spencer美国
2018/11/06 全球购物
英国第一职业高尔夫商店:Clickgolf.co.uk
2020/11/18 全球购物
《火烧云》教学反思
2014/04/12 职场文书
2014年服务员个人工作总结
2014/12/23 职场文书
干部考察材料范文
2014/12/24 职场文书
4S店客服专员岗位职责
2015/04/07 职场文书
考试后的感想
2015/08/07 职场文书
一文搞懂MySQL索引页结构
2022/02/28 MySQL
Windows Server 2016 配置 IIS 的详细步骤
2022/04/28 Servers