PHP Notice: undefined index 完美解决方法

  • 时间:2021-06-02 15:52 编辑:知速网 来源:知速网 阅读:202
  • 扫一扫,手机访问
摘要:知速网提供PHP Notice: undefined index 完美解决方法


平时用$_GET[‘xx’] 取得参数值时,如果之前不加判断在未传进参数时会出现这样的警告:


PHP Notice: undefined index xxx


虽然可以通过设置错误显示方式来隐藏这个提示,但是这样也有隐患,就是在伺服器的日志中会记录这些提示,导致日志档异常庞大!

下面是引用网上流行的解决方法:



首先,这个不是错误,是warning。所以如果伺服器不能改,每个变数使用前应当先定义。


方法1:伺服器配置修改

修改php.ini设定档,error_reporting = E_ALL & ~E_NOTICE


方法2:对变数进行初始化,规范书写(比较烦琐,因为有大量的变数)。但还没有找到好定义方法,望大家指教


方法3:每个档头部加上:error_reporting(0); 如果不行,只有打开php.ini,找到display_errors,设置为display_errors = Off。以后任何错误都不会提示。

方法4 :做判断:isset($_GET["page"]) if-else判断


或者加上'@'表示这行如果有错误或是警告不要输出

如:@$page=$_GET["page"]


方法5:file1.php档把$xx变数付一个值,用post 传递给file2.php,

如果file2.php没有$xx的定义,而直接使用$yy=$xx; 系统就会报错:"undifined variaable $xx", 如果file2.php的档开始用$xx="";定义,那麽file1.php的$xx值就传不过来了!


file2.php裡可以这样

if(!isset($xx)) $xx="";


但Jones认为,这些方法都不太方便。你不妨这样解决:


定义一个函数:


function _get($str){


    $val = !empty($_GET[$str]) ? $_GET[$str] : null;


    return $val;


}


然后在用的时候,直接用 _get('str') 代替 $_GET['str'] 就行啦~


是不是很方便?



另外一篇文章:http://allenplay.blogspot.tw/2011/04/undefined-index-php.html



在撰PHP程式语言时,若出现下列错讯息,其解方法。

Undefined index: 变数名称 in 位址 on line xx


由于这只是一个警告讯息,为了安全起见,让它不显示的两种方法


方法一

在$_GET['变数']前加入@


@$_GET['test']




方法二

isset($_GET['变数'])前加入一个if判断


if(isset($_GET['变数']))

{

   ....


  • 全部评论(0)
最新发布的资讯信息
【计算机/互联网|】小红书账号交易要找靠谱的平台。(2021-09-18 10:28)
【计算机/互联网|】小红书账号转让要注意的流程(2021-09-17 10:56)
【技术支持|】认识__get及__set,并看看Laravel如何使用它们(2021-09-12 15:36)
【技术支持|】解决网站服务器遇到 Allowed memory exhausted 问题(2021-09-12 15:32)
【计算机/互联网|】MySQL Community 版本与MySQL企业版有什么不同? 有什么限制?(2021-06-18 09:06)
【技术支持|】如何获取两个日期之间的所有日期?(2021-06-11 08:08)
【技术支持|】Laravel-S (Swoole 加速) 的初步探索整理(2021-06-10 17:15)
【计算机/互联网|】PHP7无法载入LDAP的解决方式(2021-06-10 10:46)
【计算机/互联网|】win10下PHP的安装与设定(2021-06-09 08:41)
【计算机/互联网|】C# MVC View 底下字串(string)的显示方式(2021-06-08 11:05)
联系我们
工作时间:8:00-23:30
客服 QQ:93613971
邮 箱:admin#zhisu.com
法律顾问:聊城瀚诚律师事务所