undefined indexnotice_undefined

PHP提示Notice: Undefined variable的解决办法
投稿:mdxy-dxy
字体:[ ] 类型:转载 时间:
今天在调试程序的时候,很多网上提供的源码都会出现 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) register_globals设置:
找到register_globals = Off
修改为register_globals = On
我发现在php代码中直接使用
error_reporting(E_ALL & ~E_NOTICE);
可以解决这个问题,小技巧记一下,呵呵。
以下是补充:
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\ADDNOTE.PHP on line 9
其实以上就是未定义变量,我们就直接判断变量的代码导致。
本来php是不需要定义变量的,但是出现这种情况应该怎么办呢?
只要在C:\WINDOWS找出php.ini的
在php.ini中的302行 error_reporting = E_ALL
error_reporting = E_ALL & ~E_NOTICE再重启apache2.2就行了
解决方法:修改php.ini
将: error_reporting = E_ALL
修改为:error_reporting = E_ALL & ~E_NOTICE
如果什么错误都不想让显示,直接修改:
display_errors = Off
如果你没有php.ini的修改权限,可在php头部加入
ini_set("error_reporting","E_ALL & ~E_NOTICE");
我们知道在 php 中,变量通常是不需要定义直接使用的,但有的时候因为 php 环境的问题会出现各种各样奇奇怪怪的事情,今天在调试程序的时候直接提示 Notice: Undefined variable 的错误,这是因为有的变量没有定义造成的,也是晕了,好吧,这种问题直接一句屏蔽误句就搞定了。
直接在程序的最顶端插入一句 error_reporting(0); 相信就不会再暴露这样的问题了,也不耽误程序的运行,当然这个只是应急的方法,我们还是要好好检查程序哪里出现的问题,然后对症下药,对于直接屏蔽问题夏日博客再总结几种方法吧。
php.ini 配置文件中的修改
在php.ini中的302行 error_reporting = E_ALL 修改成 error_reporting = E_ALL & ~E_NOTICE再重启apache2.2就行了,如果什么错误都不想让显示,直接修改:display_errors = Off
php文件中的修改
如果你没有php.ini的修改权限,可在php头部加入 ini_set("error_reporting","E_ALL & ~E_NOTICE"); 或者 error_reporting(0);// 即可。
一般情况下直接建议在 php 文件中进行添加,这种方法简单,不用去修改服务端的 php.ini 了。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具Notice:undefined index ..错误提示解决方法-常见问题-Php教程-壹聚教程网Notice:undefined index ..错误提示解决方法
这句是在php开发中会碰的一些问题,看这提示我们都知道是变量未定义,那么下面来解决Notice:undefined index方法,
一,这个因为是变量未定义我们只要找到相关的位置加上
function _get($str){
$val = !empty($_GET[$str]) ? $_GET[$str] :
isset($_GET['你的变量'])?$_GET['你的变量']:'';
上面我们只举了get的用法还有post也一样,只要把上面的get改成post.
还有一种程序的全局定义方法
if (!$cfg['debug']) {
&error_reporting(0);
&ob_start('ob_gzhandler');
&error_reporting(E_ALL ^ E_NOTICE);
这样我们只要对变量debug进行设置0或1对错误提示进行开关了
其它网页提供的方法
方法1:服务器配置修改
修改php.ini配置文件,error_reporting = E_ALL & ~E_NOTICE
方法2:在出现notice代码之前加上@,@表示这行有错误或是警告不要输出,@$username=$_post['username'];
注:如果你是利用了全局定义或在修改php.ini配置文件这样所有错误提示都不会出,这样对于开发测试来讲是相当的麻烦的,建义利用程序的方法,关闭错误提示最在在服务器上设置。
上一页: &&&&&下一页:相关内容

我要回帖

更多关于 js undefined 的文章

 

随机推荐