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邮件类
Jan 03 PHP
php 更新数据库中断的解决方法
Jun 05 PHP
php日期转时间戳,指定日期转换成时间戳
Jul 17 PHP
smarty基础之拼接字符串的详解
Jun 18 PHP
浅谈web上存漏洞及原理分析、防范方法(文件名检测漏洞)
Jun 29 PHP
php操作mysql数据库的基本类代码
Feb 25 PHP
PHP使用GIFEncoder类处理gif图片实例
Jul 01 PHP
php中删除数组的第一个元素和最后一个元素的函数
Mar 07 PHP
学习php设计模式 php实现策略模式(strategy)
Dec 07 PHP
yii2学习教程之5种内置行为类详解
Aug 03 PHP
PHP面向对象程序设计(OOP)之方法重写(override)操作示例
Dec 21 PHP
TP5框架实现签到功能的方法分析
Apr 05 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实现XSS安全过滤的方法
2015/07/29 PHP
纯PHP代码实现支付宝批量付款
2015/12/24 PHP
详解HTTP Cookie状态管理机制
2016/01/14 PHP
php中的常用魔术方法汇总
2016/02/14 PHP
PHP开发中解决并发问题的几种实现方法分析
2017/11/13 PHP
php二维数组按某个键值排序的实例讲解
2019/02/15 PHP
javascript this用法小结
2008/12/19 Javascript
js的onload事件及初始化按钮事件示例代码
2013/09/25 Javascript
IE中getElementsByName()对有些元素无效的解决方案
2014/09/28 Javascript
纯JS代码实现隔行变色鼠标移入高亮
2016/11/23 Javascript
Vue.js常用指令的使用小结
2017/06/23 Javascript
微信小程序 跳转传递数据的实例
2017/07/06 Javascript
详解Vue的computed(计算属性)使用实例之TodoList
2017/08/07 Javascript
详解VUE 数组更新
2017/12/16 Javascript
Vue.js数字输入框组件使用方法详解
2019/10/19 Javascript
vue实现输入一位数字转汉字功能
2019/12/13 Javascript
序列化模块json代码实例详解
2020/03/03 Javascript
在vue-cli3中使用axios获取本地json操作
2020/07/30 Javascript
javascript的hashCode函数实现代码小结
2020/08/11 Javascript
[02:27]2014DOTA2国际邀请赛 VG赛后采访:更大的挑战在等着我们
2014/07/13 DOTA
python爬取51job中hr的邮箱
2016/05/14 Python
Python3实现汉语转换为汉语拼音
2019/07/08 Python
Anaconda+Pycharm环境下的PyTorch配置方法
2020/03/13 Python
Pytorch高阶OP操作where,gather原理
2020/04/30 Python
Python爬虫抓取指定网页图片代码实例
2020/07/24 Python
python实现模拟器爬取抖音评论数据的示例代码
2021/01/06 Python
布局和排版教程 纯css3实现图片三角形排列
2014/10/17 HTML / CSS
CSS3解析抖音LOGO制作的方法步骤
2019/04/11 HTML / CSS
Everything But Water官网:美国泳装品牌
2019/03/17 全球购物
有机婴儿毛毯和衣服:Monica + Andy
2020/03/01 全球购物
民主评议党员登记表自我评价
2014/10/20 职场文书
杜甫草堂导游词
2015/02/03 职场文书
毕业生自荐信范文
2015/03/05 职场文书
为什么mysql字段要使用NOT NULL
2021/05/13 MySQL
OpenCV3.3+Python3.6实现图片高斯模糊
2021/05/18 Python
SpringBoot2零基础到精通之异常处理与web原生组件注入
2022/03/22 Java/Android