PHP中提示undefinedindex如何解决(多种方法)

网络编程 PHP编程 php实例 分类:[default] 更新日期: 2015-08-04
这篇文章主要介绍了PHP 中提示undefined index如何解决多种方法的相关资料,需要的朋友可以参考下

一、相关信息

平时用$_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如何解决(多种方法)的相关知识,希望对大家有所帮助!


> 本站内容系网友提交或本网编辑转载,其目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请及时与本网联系,我们将在第一时间删除内容!

相关文章
  • Bootstrap中文本框的宽度变窄并且加入一副验证码图片的实现方法
    Bootstrap中文本框的宽度变窄并且加入一副验证码图片的实现方法
    这篇文章主要介绍了Bootstrap中文本框的宽度变窄并且加入一副验证码图片的实现方法的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下今天项目经理刚交给一个活儿,要我实现这样一个功能:要实现的是验证码文本框变窄一点,然后右边加入一副验证码图片,并且在响应式布局的情况下在移动端访问的时候验证码图片能保持和验证码文本框在同一行,这个怎么做?难为了半天 ...
  • Python中在脚本中引用其他文件函数的实现方法
    下面小编就为大家带来一篇Python中在脚本中引用其他文件函数的实现方法.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧在导入文件的时候,Python只搜索当前脚本所在的目录,加载(entry-point)入口脚本运行目录和sys.path中包含的路径例如包的安装地址.所以如果要在当前脚本引用其他文件,除了将文件放在和脚本同一目 ...
  • asp画中画广告插入在每篇文章中的实现方法
    这篇文章主要介绍了asp画中画广告插入在每篇文章中的实现方法,需要的朋友可以参考下尽管很多人给出了给每篇文章加上画中画广告的方法,但是这些所谓的方法,都不能真正地实现文字环绕在广告周围的"画中画"效果,只能左对其或者右对齐.现在要讨论的这个方法才能真正实现像新浪网.搜狐网那样的画中画广告效果. 首先说一下错误的div+CSS方法,希望大家 ...
  • 探讨Ajax中有关readyState状态值和status状态码)的问题
    这篇文章主要介绍了探讨Ajax中有关readyState状态值和status状态码的问题的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下先看下面一段代码,然后给大家详细介绍,Ajax中有关readyState(状态值)和status(状态码)的问题,具体内容如下所示: var getXmlHttpRequest = function () { t ...
  • JavaWeb实现图形报表折线图的方法
    这篇文章主要介绍了JavaWeb实现图形报表折线图的方法,涉及JSP包的引用.图形操作.配置文件设置及字符串操作技巧,需要的朋友可以参考下本文实例讲述了JavaWeb实现图形报表折线图的方法.分享给大家供大家参考,具体如下: 步骤说明: 1. 导入log4j.jar,jfreechart-0.9.18.jar,jdom.jar,jcommon-0.9.3.j ...
  • Swift中内置的集合类型学习笔记
    Swift中内置的集合类型学习笔记
    Swift中自带数组.set.字典三大集合类型,这里将学习过程中的基础的Swift中内置的集合类型学习笔记进行整理,需要的朋友可以参考下一.引言 Swift中提供了3种集合类型,Array数据类型,Set集合类型,Dictionary字典类型.Array用于存放一组有序的数据,数据角标从0开始一次递增:Set用于存放一组无序的数据,数据不可以重复:Dicti ...
猜你喜欢