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用SAX解析XML的实现代码与问题分析
Aug 22 PHP
PHP Session 变量的使用方法详解与实例代码
Sep 11 PHP
PHP图片裁剪函数(保持图像不变形)
May 04 PHP
PHP获取文件的MD5值并判断是否被修改的例子
Jun 19 PHP
php实现的css文件背景图片下载器代码
Nov 11 PHP
PHP执行linux命令常用函数汇总
Feb 02 PHP
php rmdir使用递归函数删除非空目录实例详解
Oct 20 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
Sep 16 PHP
yii框架redis结合php实现秒杀效果(实例代码)
Oct 26 PHP
php格式文件打开的四种方法
Feb 24 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
Feb 15 PHP
基于php解决json_encode中文UNICODE转码问题
Nov 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
PHP下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码
2011/09/19 PHP
php简单实现批量上传图片的方法
2016/05/09 PHP
基于PHP实现发微博动态代码实例
2020/12/11 PHP
MooTools 1.2介绍
2009/09/14 Javascript
基于jquery的3d效果实现代码
2011/03/23 Javascript
疯狂Jquery第一天(Jquery学习笔记)
2012/05/11 Javascript
javascript中的遍历for in 以及with的用法
2014/12/22 Javascript
jQuery的animate函数实现图文切换动画效果
2015/05/03 Javascript
jquery带翻页动画的电子杂志代码分享
2015/08/21 Javascript
JS在一定时间内跳转页面及各种刷新页面的实现方法
2016/05/26 Javascript
JS动态给对象添加事件的简单方法
2016/07/19 Javascript
JavaScript实现图片瀑布流和底部刷新
2017/01/02 Javascript
JavaScript设计模式之工厂模式和抽象工厂模式定义与用法分析
2018/07/26 Javascript
JavaScript折半查找(二分查找)算法原理与实现方法示例
2018/08/06 Javascript
JS实现简单的抽奖转盘效果示例
2019/02/16 Javascript
JS实现小米轮播图
2020/09/21 Javascript
React服务端渲染原理解析与实践
2021/03/04 Javascript
[20:21]《一刀刀一天》第十六期:TI国际邀请赛正式打响,总奖金超过550万
2014/05/23 DOTA
[05:49]2014DOTA2TI4正赛第二日综述 昔日冠军纷纷落马 VG LGD占尽先机
2014/07/20 DOTA
python实现得到一个给定类的虚函数
2014/09/28 Python
Flask数据库迁移简单介绍
2017/10/24 Python
Python生成器的使用方法和示例代码
2019/03/04 Python
详解用Python实现自动化监控远程服务器
2019/05/18 Python
浅析Python3中的对象垃圾收集机制
2019/06/06 Python
Python 内置变量和函数的查看及说明介绍
2019/12/25 Python
对Pytorch中Tensor的各种池化操作解析
2020/01/03 Python
Python socket连接中的粘包、精确传输问题实例分析
2020/03/24 Python
Pandas实现一列数据分隔为两列
2020/05/18 Python
意大利运动服减价商店:ScontoSport
2020/03/10 全球购物
工程地质勘察专业大学生求职信
2013/10/13 职场文书
最美家庭活动方案
2014/08/31 职场文书
离职证明标准格式
2014/09/15 职场文书
党的群众路线教育实践活动党员个人剖析材料
2014/10/08 职场文书
机关班子查摆问题及整改措施
2014/10/28 职场文书
Win11 Build 21996.1 Dev版怎么样? win11系统截图欣赏
2021/11/21 数码科技
为Centos安装指定版本的Docker
2022/04/01 Servers