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 相关文章推荐
我常用的几个类
Oct 09 PHP
Php部分常见问题总结
Oct 09 PHP
php4的session功能评述(二)
Oct 09 PHP
如何从一个php文件向另一个地址post数据,不用表单和隐藏的变量的
Mar 06 PHP
php 删除一个数组中的某个值.兼容多维数组!
Feb 18 PHP
PHP中::、->、self、$this几种操作符的区别介绍
Apr 24 PHP
smarty简单分页的实现方法
Oct 27 PHP
PHP定时执行任务实现方法详解(Timer)
Jul 30 PHP
Symfony2学习笔记之模板用法详解
Mar 17 PHP
Yii针对添加行的增删改查操作示例
Oct 18 PHP
yii2.0整合阿里云oss的示例代码
Sep 19 PHP
在Laravel 中实现是否关注的示例
Oct 22 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 strip_tags() 去字符串中的 HTML、XML 以及 PHP 标签的函数
2016/05/22 PHP
js查找父节点的简单方法
2008/06/28 Javascript
jQuery解决iframe高度自适应代码
2009/12/20 Javascript
jQuery的实现原理的模拟代码 -1 核心部分
2010/08/01 Javascript
js 字符串转化成数字的代码
2011/06/29 Javascript
javascript读写json示例
2014/04/11 Javascript
下拉框select的绑定示例
2014/09/04 Javascript
jQuery实现带动画效果的多级下拉菜单代码
2015/09/08 Javascript
详解JavaScript 中的 replace 方法
2016/01/01 Javascript
DIV随滚动条滚动而滚动的实现代码【推荐】
2016/04/12 Javascript
javascript表单事件处理方法详解
2016/05/15 Javascript
JS判断浏览器是否安装flash插件的简单方法
2016/09/13 Javascript
jQuery实现鼠标滑过预览图片大图效果的方法
2017/04/26 jQuery
vue中slot(插槽)的介绍与使用
2018/11/12 Javascript
小程序getLocation需要在app.json中声明permission字段
2019/04/04 Javascript
微信小程序扫描二维码获取信息实例详解
2019/05/07 Javascript
Node.js在图片模板上生成二维码图片并附带底部文字说明实现详解
2019/08/07 Javascript
在vue中利用全局路由钩子给url统一添加公共参数的例子
2019/11/01 Javascript
JS面向对象编程基础篇(三) 继承操作实例详解
2020/03/03 Javascript
element-ui封装一个Table模板组件的示例
2021/01/04 Javascript
[03:17]2016完美“圣”典风云人物:冷冷专访
2016/12/08 DOTA
Python中条件选择和循环语句使用方法介绍
2013/03/13 Python
详解Django rest_framework实现RESTful API
2018/05/24 Python
python3实现指定目录下文件sha256及文件大小统计
2019/02/25 Python
Python3的高阶函数map,reduce,filter的示例详解
2019/07/23 Python
python单例模式原理与创建方法实例分析
2019/10/26 Python
Python元组 tuple的概念与基本操作详解【定义、创建、访问、计数、推导式等】
2019/10/30 Python
django中media媒体路径设置的步骤
2019/11/15 Python
python 通过邮件控制实现远程控制电脑操作
2020/03/16 Python
百度JavaScript笔试题
2015/01/15 面试题
大专生求职信
2014/06/29 职场文书
毕业生求职信范文
2014/06/29 职场文书
听课评课活动心得体会
2016/01/15 职场文书
导游词之井冈山
2019/11/20 职场文书
GO语言字符串处理函数之处理Strings包
2022/04/14 Golang
苹果可能正在打击不进行更新的 App
2022/04/24 数码科技