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 用数组降低程序的时间复杂度
Dec 04 PHP
PHP执行zip与rar解压缩方法实现代码
Dec 05 PHP
php后退一页表单内容保存实现方法
Jun 17 PHP
关于crontab的使用详解
Jun 24 PHP
php的mkdir()函数创建文件夹比较安全的权限设置方法
Jul 28 PHP
使用PHPMailer实现邮件发送代码分享
Oct 23 PHP
PHP采集静态页面并把页面css,img,js保存的方法
Dec 23 PHP
yii2-GridView在开发中常用的功能及技巧总结
Jan 07 PHP
php数组指针操作详解
Feb 14 PHP
PHP基于新浪IP库获取IP详细地址的方法
May 04 PHP
laravel框架的安装与路由实例分析
Oct 11 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
Mar 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版
2016/07/21 PHP
PHP中ltrim()函数的用法与实例讲解
2019/03/28 PHP
php中字符串和整数比较的操作方法
2019/06/06 PHP
jquery 注意事项与常用语法小结
2010/06/07 Javascript
点击显示指定元素隐藏其他同辈元素的方法
2014/02/19 Javascript
jQuery的实例及必知重要的jQuery选择器详解
2016/05/20 Javascript
jQuery的ready方法实现原理分析
2016/10/26 Javascript
Vue.js系列之vue-router(上)(3)
2017/01/03 Javascript
JavaScript对象封装的简单实现方法(3种方法)
2017/01/03 Javascript
jQuery实现select模糊查询(反射机制)
2017/01/14 Javascript
基于cookie实现zTree树刷新后展开状态不变
2017/02/28 Javascript
JavaScript数据类型的存储方法详解
2017/08/25 Javascript
通过一个简单的例子学会vuex与模块化
2017/11/22 Javascript
JS实现基于拖拽改变物体大小的方法
2018/01/23 Javascript
vueJs实现DOM加载完之后自动下拉到底部的实例代码
2018/08/31 Javascript
layui自己添加图片按钮并点击跳转页面的例子
2019/09/14 Javascript
webpack HappyPack实战详解
2019/10/08 Javascript
微信小程序网络请求实现过程解析
2019/11/06 Javascript
JS可断点续传文件上传实现代码解析
2020/07/30 Javascript
vue 项目软键盘回车触发搜索事件
2020/09/09 Javascript
Python实现批量下载图片的方法
2015/07/08 Python
Python操作excel的方法总结(xlrd、xlwt、openpyxl)
2019/09/02 Python
Python3批量创建Crowd用户并分配组
2020/05/20 Python
Keras框架中的epoch、bacth、batch size、iteration使用介绍
2020/06/10 Python
HTML5 b和i标记将被赋予真正的语义
2009/07/16 HTML / CSS
美国二手复古奢侈品包包购物网站:LXRandCo
2019/06/18 全球购物
优秀信贷员先进事迹
2014/01/31 职场文书
《临死前的严监生》教学反思
2014/02/13 职场文书
2014年档案室工作总结
2014/12/01 职场文书
文明单位申报材料
2014/12/23 职场文书
工作自我推荐信范文
2015/03/25 职场文书
幼儿园园长安全责任书
2015/05/08 职场文书
银行求职信范文
2019/05/13 职场文书
MySql 8.0及对应驱动包匹配的注意点说明
2021/06/23 MySQL
iSCSI服务器CHAP双向认证配置
2022/04/01 Servers
ubuntu端向日葵键盘输入卡顿问题及解决
2022/12/24 Servers