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应用程序的七个习惯深入分析
Jun 08 PHP
浅析php fwrite写入txt文件的时候用 \r\n不能换行的问题
Aug 06 PHP
一个好用的PHP验证码类实例分享
Dec 27 PHP
php共享内存段示例分享
Jan 20 PHP
用PHP和Shell写Hadoop的MapReduce程序
Apr 15 PHP
PHP实现生成透明背景的PNG缩略图函数分享
Jul 08 PHP
php使用APC实现实时上传进度条功能
Oct 26 PHP
PHP与jquery实时显示网站在线人数实例详解
Dec 02 PHP
YII框架中搜索分页jQuery写法详解
Dec 19 PHP
如何修改yii2.0自带的user表为其它的表
Aug 01 PHP
PHP使用DOM对XML解析处理操作示例
Jul 04 PHP
PHP获取php,mysql,apche的版本信息及更多服务器信息
Mar 09 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和MySQL保存和输出图片
2006/10/09 PHP
发布一个用PHP fsockopen写的HTTP下载的类
2007/02/22 PHP
php面向对象全攻略 (六)__set() __get() __isset() __unset()的用法
2009/09/30 PHP
PHP实现的QQ空间g_tk加密算法
2015/07/09 PHP
如何优雅的使用 laravel 的 validator验证方法
2018/11/11 PHP
jQuery 瀑布流 绝对定位布局(二)(延迟AJAX加载图片)
2012/05/23 Javascript
AngularJS初始化过程分析(引导程序)
2014/12/06 Javascript
JS根据key值获取URL中的参数值及把URL的参数转换成json对象
2015/08/26 Javascript
jQuery 弹出层插件(推荐)
2016/05/24 Javascript
jQuery.form.js的使用详解
2017/06/14 jQuery
JS获取当前地理位置的方法
2017/10/25 Javascript
解析vue中的$mount
2017/12/21 Javascript
vue.js做一个简单的编辑菜谱功能
2018/05/08 Javascript
详解angular分页插件tm.pagination二次触发问题解决方案
2018/07/20 Javascript
Angular angular-file-upload文件上传的示例代码
2018/08/23 Javascript
js实现搜索栏效果
2018/11/16 Javascript
详解一个基于react+webpack的多页面应用配置
2019/01/21 Javascript
JQuery样式与属性设置方法分析
2019/12/07 jQuery
vue中使用router全局守卫实现页面拦截的示例
2020/10/23 Javascript
在antd中setFieldsValue和defaultVal的用法
2020/10/29 Javascript
利用python如何处理nc数据详解
2018/05/23 Python
tensorflow更改变量的值实例
2018/07/30 Python
详解python爬虫系列之初识爬虫
2019/04/06 Python
哈工大自然语言处理工具箱之ltp在windows10下的安装使用教程
2020/05/07 Python
python爬取”顶点小说网“《纯阳剑尊》的示例代码
2020/10/16 Python
Otticanet澳大利亚:最顶尖的世界名牌眼镜, 能得到打折季的价格
2018/08/23 全球购物
Troy-Bilt官网:草坪割草机、吹雪机、分蘖机等
2019/02/19 全球购物
留学顾问岗位职责
2014/04/14 职场文书
新教师岗前培训方案
2014/06/05 职场文书
2014年政教处工作总结
2014/12/20 职场文书
2016年春节慰问信息
2015/03/25 职场文书
停电通知范文
2015/04/16 职场文书
建党伟业观后感
2015/06/01 职场文书
行政复议答复书
2015/07/01 职场文书
幼儿园教师管理制度
2015/08/05 职场文书
安全教育主题班会总结
2015/08/14 职场文书