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 相关文章推荐
snoopy PHP版的网络客户端提供本地下载
Apr 15 PHP
备份mysql数据库的php代码(一个表一个文件)
May 28 PHP
php下通过curl抓取yahoo boss 搜索结果的实现代码
Jun 10 PHP
PHP的explode和implode的使用说明
Jul 17 PHP
destoon实现调用自增数字从1开始的方法
Aug 21 PHP
php中字符查找函数strpos、strrchr与strpbrk用法
Nov 18 PHP
PHP的伪随机数与真随机数详解
May 27 PHP
Thinkphp无限级分类代码
Nov 11 PHP
php获取excel文件数据
Apr 21 PHP
thinkphp5.0自定义验证规则使用方法
Nov 16 PHP
详解php用static方法的原因
Sep 12 PHP
阿里云服务器搭建Php+Apache运行环境的详细过程
May 15 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设计模式 Strategy(策略模式)
2011/06/26 PHP
ThinkPHP中Session用法详解
2014/11/29 PHP
thinkPHP框架实现生成条形码的方法示例
2018/06/06 PHP
动态加载iframe
2006/06/16 Javascript
JavaScript自定义DateDiff函数(兼容所有浏览器)
2012/03/01 Javascript
自定义ExtJS控件之下拉树和下拉表格附源码
2013/10/15 Javascript
Javascript学习笔记之数组的遍历和 length 属性
2014/11/23 Javascript
JS制作简单的三级联动
2015/03/18 Javascript
JS更改select内option属性的方法
2015/10/14 Javascript
详解JavaScript的AngularJS框架中的作用域与数据绑定
2016/03/04 Javascript
JS Canvas定时器模拟动态加载动画
2016/09/17 Javascript
有趣的bootstrap走动进度条
2016/12/01 Javascript
jq checkbox 的全选并ajax传参的实例
2017/04/01 Javascript
JS实现匀加速与匀减速运动的方法示例
2017/09/04 Javascript
Vue中的混入的使用(vue mixins)
2018/06/01 Javascript
微信小程序module.exports模块化操作实例浅析
2018/12/20 Javascript
vue实现表单未编辑或未保存离开弹窗提示功能
2020/04/08 Javascript
[28:57]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/16 DOTA
Python计算三维矢量幅度的方法
2015/06/15 Python
python实现黑客字幕雨效果
2018/06/21 Python
python openpyxl使用方法详解
2019/07/18 Python
解决python有时候import不了当前的包问题
2019/08/28 Python
python中有关时间日期格式转换问题
2019/12/25 Python
Python文件读写w+和r+区别解析
2020/03/26 Python
sqlalchemy实现时间列自动更新教程
2020/09/02 Python
联想美国官方商城:Lenovo美国
2017/06/19 全球购物
澳大利亚小众服装品牌:Maurie & Eve
2018/03/27 全球购物
南京某软件公司的.net面试题
2015/11/30 面试题
Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
2015/01/27 面试题
转党组织关系介绍信
2014/01/08 职场文书
车队司机自我鉴定
2014/03/02 职场文书
老师对学生的评语
2014/04/18 职场文书
优秀实习生主要事迹
2014/05/29 职场文书
2014年度党员自我评议
2014/09/13 职场文书
端午节寄语2015
2015/03/23 职场文书
Python控制台输出俄罗斯方块移动和旋转功能
2021/04/18 Python