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 02 PHP
php expects parameter 1 to be resource, array given 错误
Mar 23 PHP
Array of country list in PHP with Zend Framework
Oct 17 PHP
洪恩在线成语词典小偷程序php版
Apr 20 PHP
php函数array_merge用法一例(合并同类数组)
Feb 03 PHP
解析PHP中的正则表达式以及模式匹配
Jun 19 PHP
PHP连接局域网MYSQL数据库的简单实例
Aug 26 PHP
PHP统计二维数组元素个数的方法
Nov 12 PHP
PHP高手需要要掌握的知识点
Aug 21 PHP
thinkPHP中create方法与令牌验证实例浅析
Dec 08 PHP
php生成txt文件实例代码介绍
Apr 28 PHP
简单谈谈PHP中的trait
Feb 25 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 读取文件头判断文件类型的实现代码
2013/08/05 PHP
windows7下安装php的imagick和imagemagick扩展教程
2014/07/04 PHP
php生成百度sitemap站点地图类函数实例
2014/10/17 PHP
php简单操作mysql数据库的类
2015/04/16 PHP
Zend Framework教程之前端控制器Zend_Controller_Front用法详解
2016/03/07 PHP
扩展javascript的Date方法实现代码(prototype)
2010/11/20 Javascript
Document:getElementsByName()使用方法及示例
2013/10/28 Javascript
使用javascript实现判断当前浏览器
2015/04/14 Javascript
jQuery实现固定在网页顶部的菜单效果代码
2015/09/02 Javascript
Bootstrap Table的使用总结
2016/10/08 Javascript
JavaScript基于对象去除数组重复项的方法
2016/10/09 Javascript
easyui tree带checkbox实现单选的简单实例
2016/11/07 Javascript
Javascript实现数组中的元素上下移动
2017/04/28 Javascript
angularJs使用$watch和$filter过滤器制作搜索筛选实例
2017/06/01 Javascript
浅谈Vue.js 组件中的v-on绑定自定义事件理解
2017/11/17 Javascript
nginx+vue.js实现前后端分离的示例代码
2018/02/12 Javascript
vue组件与复用详解
2018/04/08 Javascript
vue打包的时候自动将px转成rem的操作方法
2018/06/20 Javascript
jQuery实现的点击按钮改变样式功能示例
2018/07/21 jQuery
vscode下vue项目中eslint的使用方法
2019/01/13 Javascript
浅谈如何优雅处理JavaScript异步错误
2019/11/12 Javascript
vue学习笔记之slot插槽用法实例分析
2020/02/29 Javascript
Python解析命令行读取参数--argparse模块使用方法
2018/01/23 Python
NumPy 数学函数及代数运算的实现代码
2018/07/18 Python
python实现dijkstra最短路由算法
2019/01/17 Python
django从后台返回html代码的实例
2020/03/11 Python
纯css3(无图片/js)制作的几个社交媒体网站的图标
2013/03/21 HTML / CSS
德国自行车商店:Tretwerk
2019/06/21 全球购物
Ruby如何进行文件操作
2014/07/17 面试题
成教毕业生自我鉴定
2013/10/23 职场文书
新闻编辑自荐信
2013/11/03 职场文书
社区交通安全实施方案
2014/03/22 职场文书
自我推荐信范文
2014/05/09 职场文书
雷锋精神演讲稿
2014/05/13 职场文书
2014红色之旅心得体会
2014/10/07 职场文书
2016年“我们的节日·端午节”活动总结
2016/04/01 职场文书