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 相关文章推荐
解析PayPal支付接口的PHP开发方式
Nov 28 PHP
php常用Stream函数集介绍
Jun 24 PHP
PHP系统命令函数使用分析
Jul 05 PHP
php获取网页标题和内容函数(不包含html标签)
Feb 03 PHP
php.ini save_handler 修改不生效的解决办法
Jul 22 PHP
两个php日期控制类实例
Dec 09 PHP
关于URL最大长度限制的相关资料查证
Dec 23 PHP
PHP数组编码gbk与utf8互相转换的两种方法
Sep 01 PHP
老生常谈PHP数组函数array_merge(必看篇)
May 25 PHP
thinkphp5.0自定义验证规则使用方法
Nov 16 PHP
Laravel5.4框架使用socialite实现github登录的方法
Mar 20 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
Feb 29 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 flv视频时间获取函数
2010/06/29 PHP
php函数的常用方法及注意之处小结
2011/07/10 PHP
PHP大批量插入数据库的3种方法和速度对比
2014/07/08 PHP
Laravel5.7框架安装与使用学习笔记图文详解
2019/04/02 PHP
Js 获取Gridview选中行的内容操作步骤
2013/02/05 Javascript
js实现点击切换TAB标签实例
2015/08/21 Javascript
基于Vuejs实现购物车功能
2016/08/02 Javascript
jQuery实现遮罩层登录对话框
2016/12/29 Javascript
Jquery uploadify 多余的Get请求(404错误)的解决方法
2017/01/26 Javascript
vue项目常用组件和框架结构介绍
2017/12/24 Javascript
vue初始化动画加载的实例
2018/09/01 Javascript
jQuery+PHP实现上传裁剪图片
2020/06/29 jQuery
vue+element树组件 实现树懒加载的过程详解
2019/10/21 Javascript
原生js实现俄罗斯方块
2020/10/20 Javascript
[03:26]《DAC最前线》之EG经理自述DOTA2经历
2015/02/02 DOTA
使用Python获取CPU、内存和硬盘等windowns系统信息的2个例子
2014/04/15 Python
python实现获取序列中最小的几个元素
2014/09/25 Python
python判断windows系统是32位还是64位的方法
2015/05/11 Python
使用Python多线程爬虫爬取电影天堂资源
2016/09/23 Python
python实现报表自动化详解
2017/11/16 Python
Python AES加密实例解析
2018/01/18 Python
python按行读取文件,去掉每行的换行符\n的实例
2018/04/19 Python
Django 实现前端图片压缩功能的方法
2019/08/07 Python
python redis 批量设置过期key过程解析
2019/11/26 Python
Python vtk读取并显示dicom文件示例
2020/01/13 Python
Windows+Anaconda3+PyTorch+PyCharm的安装教程图文详解
2020/04/03 Python
python 元组的使用方法
2020/06/09 Python
Python流程控制语句的深入讲解
2020/06/15 Python
Python 中如何写注释
2020/08/28 Python
德国网上药房:Apotal
2017/04/04 全球购物
精彩自我鉴定
2014/01/16 职场文书
护理专科毕业生自荐书范文
2014/02/19 职场文书
学习标兵获奖感言
2014/02/20 职场文书
小学教师师德师风自我剖析材料
2014/09/29 职场文书
公安机关党的群众路线教育实践活动剖析材料
2014/10/10 职场文书
Android移动应用开发指南之六种布局详解
2022/09/23 Java/Android