PHP “Notice: Undefined variable” 和 “Notice: Undefined index”报错

解决Notice: Undefined variable报错

虽然 PHP不需要预先声明变量,但是依然强烈推荐大家声明以避免因为忘记给变量赋值而引起的一些安全性漏洞及可能的BUG。所以PHP以非常低的报警级别(E_NOTICE)来提醒大家正在使用一个未声明的变量。

当然解决以上报错有如下几种方法,根据场景选择适合自己的:

1.(推荐)提前声明变量,例如当你想要为一个未声明的变量连接字符串的时候。或者使用isset()/!empty()来检查是否已经声明:

$value = ""; //初始化变量
             //"" 当下面需要对其进行字符串操作时
             //0  当下面需要对其数字操作时
//isset()
$value = isset($_POST['value']) ? $_POST['value'] : '';
//empty()
$value = !empty($_POST['value']) ? $_POST['value'] : '';
2.设置自定义的(error handler)来处理E_NOTICE错误

set_error_handler('myHandlerForMinorErrors', E_NOTICE | E_STRICT)
3.禁止E_NOTICE报警

error_reporting( error_reporting() & ~E_NOTICE )
强烈建议使用第一种方法

解决Notice: Undefined index报错

当你访问数组中尚未定义的索引时会出现 Undefined index问题。

1.在访问数组索引前检查是否存在,可以使用isset()或者array_key_exists()

//isset()
$value = isset($array['my_index']) ? $array['my_index'] : '';
//array_key_exists()
$value = array_key_exists('my_index', $array) ? $array['my_index'] : '';

时间: 2024-09-20 08:01:23

PHP “Notice: Undefined variable” 和 “Notice: Undefined index”报错的相关文章

PHP Undefined index报错的修复方法_php技巧

虽然可以通过设置错误显示方式来隐藏这个提示,但是这样也有隐患,就是在服务器的日志中会记录这些提示,导致日志文件异常庞大. 首先,这个不是错误,是warning.所以如果服务器不能改,每个变量使用前应当先定义.网上流行的解决方法有以下几种: 方法1:服务器配置修改.修改php.ini配置文件,error_reporting = E_ALL & ~E_NOTICE. 方法2:对变量进行初始化,规范书写(比较烦琐,因为有大量的变量).但还没有找到好定义方法,望大家指教. 方法3:每个文件头部加上:er

求助 安装glance时 使用glance index报错

问题描述 如题安装glance时使用glanceindex测试,因为没有镜像,我看网上说要务输出才正确.但我的显示Errorfindingaddressfor192.168.50.130:[Error-2]Nameorservicenotknow192.168.50.130是我控制节点IP希望大神指点,万分感谢 解决方案

guestbook-PHP 请问 Notice: Undefined variable

问题描述 PHP 请问 Notice: Undefined variable 2C Notice: Undefined variable: rs in /home/sujata/Public/guestbook4/edit.php on line 44 (485256)44行: <td><input type=""text"" name=""username"" value=""<?

PHP提示Notice: Undefined variable的解决办法

  关键字描述:方法 解决 修改 E_ALL php.ini error_reporting & Notice: Undefined variable: email in D:\PHP5\ENOTE\ADDNOTE.PHP on line 9 Notice: Undefined variable: subject in D:\PHP5\ENOTE\ADDNOTE.PHP on line 9 Notice: Undefined variable: comment in D:\PHP5\ENOTE\

解决PHP提示Notice: Undefined variable的办法

我们知道在 php 中,变量通常是不需要定义直接使用的,但有的时候因为 php 环境的问题会出现各种各样奇奇怪怪的事情,今天在调试程序的时候直接提示 Notice: Undefined variable 的错误,这是因为有的变量没有定义造成的,也是晕了,好吧,这种问题直接一句屏蔽误句就搞定了. 直接在程序的最顶端插入一句 error_reporting(0); 相信就不会再暴露这样的问题了,也不耽误程序的运行,当然这个只是应急的方法,我们还是要好好检查程序哪里出现的问题,然后对症下药,对于直接屏

PHP提示Notice: Undefined variable的解决办法_php技巧

PHP默认配置会报这个错误,我的PHP版本是5.2.13,存在这个问题: Notice: Undefined variable 这就是将警告在页面上打印出来,虽然这是有利于暴露问题,但实现使用中会存在很多问题. 需要设置显示错误级别,来解决问题. 网络上的通用解决办法是修改php.ini的配置: 解决方法: 1) error_reporting设置: 找到error_reporting = E_ALL 修改为error_reporting = E_ALL & ~E_NOTICE 2) regis

php Undefined index和Undefined variable的解决方法_php技巧

$act=$_POST['act']; 用以上代码总是提示 Notice: Undefined index: act in F:\windsflybook\post.php on line 18 另外,有时还会出现  引用内容 Notice: Undefined variable: Submit ...... 等一些这样的提示 原因:由于变量未定义引起的 解决方法: 1) error_reporting设置: 找到error_reporting = E_ALL 修改为error_reportin

php Undefined index和Undefined variable的解决方法

php教程 Undefined index和Undefined variable的解决方法 $act=$_POST['act']; 用以上代码总是提示 Notice: Undefined index: act in F:windsflybookpost.php on line 18 另外,有时还会出现 引用内容 Notice: Undefined variable: Submit ...... 等一些这样的提示 原因:由于变量未定义引起的 解决方法: 1) error_reporting设置:

php模板提示Undefined variable &amp;amp;#39;$output&amp;amp;#39;

问题描述 php模板提示Undefined variable '$output' 运行index.php 能下常输出: 1 2 3 4 5 6 7 8 9 10 虽然能运行,但是有这个提示,总觉得不太好....求解答...啊 提示: Multiple annotations found at this line: - Line Breakpoint: count.html.php [line: 9 ] - Undefined variable '$output' 以下是文件内容 --------