PHP 中提示undefined index如何解决(多种方法)


Posted in PHP onMarch 16, 2016

一、相关信息

平时用$_post['']或$_get['']获取表单中参数时会出现Notice: 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 本身不需要事先声明变量即可直接使用,但是对未声明变量会有提示。一般作为正式的网站会把提示关掉的,甚至连错误信息也被关掉。

二、问题描述

也即PHP默认会对未声明变量进行提示,但这种默认的提示我们是可以进行忽略的

三、解决方案

方法1:服务器配置修改

修改 php.ini 中的 error配置下错误显示方式:将error_reporting = E_ALL 修改为error_reporting = E_ALL & ~E_NOTICE

修改后重启下Apache服务器,方可生效。

方法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提供了很好的提醒机制,但可能不是我们想要的,建议上述使用方法4进行处理,这样可以在确保在观察到提醒时则进行处理,也保留了PHP提供的提醒机制

以上内容是小编给大家分享的PHP 中提示undefined index如何解决(多种方法)的相关知识,希望对大家有所帮助!

PHP 相关文章推荐
不错的PHP学习之php4与php5之间会穿梭一点点感悟
May 03 PHP
php下几个常用的去空、分组、调试数组函数
Feb 22 PHP
php session应用实例 登录验证
Mar 16 PHP
php+mysql事务rollback&commit示例
Feb 08 PHP
ThinkPHP公共配置文件与各自项目中配置文件组合的方法
Nov 24 PHP
php将日期格式转换成xx天前的格式
Apr 16 PHP
学习php设计模式 php实现单例模式(singleton)
Dec 07 PHP
php中json_encode不兼容JSON_UNESCAPED_UNICODE的解决方案
May 31 PHP
通过源码解析Laravel的依赖注入
Jan 22 PHP
PHP通过bypass disable functions执行系统命令的方法汇总
May 02 PHP
解决PHP使用CURL发送GET请求时传递参数的问题
Oct 11 PHP
漂亮的thinkphp 跳转页封装示例
Oct 16 PHP
Laravel中Trait的用法实例详解
Mar 16 #PHP
Laravel中注册Facades的步骤详解
Mar 16 #PHP
PHP与Ajax相结合实现登录验证小Demo
Mar 16 #PHP
Laravel实现构造函数自动依赖注入的方法
Mar 16 #PHP
PHP 二维数组和三维数组的过滤
Mar 16 #PHP
详解php中反射的应用
Mar 15 #PHP
php实现图片上传并进行替换操作
Mar 15 #PHP
You might like
php zip文件解压类代码
2009/12/02 PHP
PHP三层结构(上) 简单三层结构
2010/07/04 PHP
详解PHP的Yii框架中日志的相关配置及使用
2015/12/08 PHP
PHP的Yii框架中行为的定义与绑定方法讲解
2016/03/18 PHP
php使用GD2绘制几何图形示例
2017/02/15 PHP
PHP抽象类与接口的区别实例详解
2019/05/09 PHP
PHP面向对象程序设计之对象克隆clone和魔术方法__clone()用法分析
2019/06/12 PHP
PHP7原生MySQL数据库操作实现代码
2020/07/03 PHP
Array对象方法参考
2006/10/03 Javascript
推荐30个新鲜出炉的精美 jQuery 效果
2012/03/26 Javascript
iphone safari不支持position fixed的解决方法
2012/05/04 Javascript
js贪吃蛇网页版游戏特效代码分享(挑战十关)
2015/08/24 Javascript
深入浅析react native es6语法
2015/12/09 Javascript
jQuery中serializeArray()与serialize()的区别实例分析
2015/12/09 Javascript
jquery mobile开发常见问题分析
2016/01/21 Javascript
基于javascript实现简单的抽奖系统
2020/04/15 Javascript
Bootstrap开发实战之响应式轮播图
2016/06/02 Javascript
详解js中Json的语法与格式
2016/11/22 Javascript
10道典型的JavaScript面试题
2017/03/22 Javascript
python开发之for循环操作实例详解
2015/11/12 Python
基于DATAFRAME中元素的读取与修改方法
2018/06/08 Python
Python判断一个文件夹内哪些文件是图片的实例
2018/12/07 Python
对python中大文件的导入与导出方法详解
2018/12/28 Python
python机器学习库xgboost的使用
2020/01/20 Python
Java Spring项目国际化(i18n)详细方法与实例
2020/03/20 Python
美国最大的珠宝商之一:Littman Jewelers
2016/11/13 全球购物
美国著名手表网站:Timepiece
2017/11/15 全球购物
Java面试中常遇到的问题,也是需要注意的几点
2013/08/30 面试题
自荐信格式范文
2013/10/07 职场文书
军训自我鉴定
2014/01/22 职场文书
竞争性谈判邀请书
2014/02/06 职场文书
群众路线教育实践活动心得体会
2014/03/07 职场文书
教育英语专业毕业生的求职信
2014/03/13 职场文书
运动会广播稿200字
2014/10/18 职场文书
2019年作为一名实习生的述职报告
2019/09/29 职场文书
Python Flask搭建yolov3目标检测系统详解流程
2021/11/07 Python