2010-08-24 60 views
0

我正在处理一个内部有55个元素的数组,每个数组中有17个元素。页面源代码视图中的codeigniter错误

当我在屏幕上显示的阵列,无可厚非发生,但是当我走在页面的源代码一看,我有55×17 “严重性:通知”错误与消息“未定义指数”
有人知道什么是错的吗?如果索引真的不存在,我看不到屏幕上的数组。

我使用if (isset()) { ... }进行了测试,但依然如此。

Codeigniter版本:1.7.2
浏览器测试:firefox,chrome,ie和safari。

回答

1

当我试图回应未定义的东西时,我通常会得到这个错误。这不是一个PHP错误,只是一个通知。这是由函数error_reporting();主要index.php上的

如果打开这个index.php文件,你会看到:

/* 
|--------------------------------------------------------------- 
| PHP ERROR REPORTING LEVEL 
|--------------------------------------------------------------- 
| 
| By default CI runs with error reporting set to ALL. For security 
| reasons you are encouraged to change this when your site goes live. 
| For more info visit: http://www.php.net/error_reporting 
| 
*/ 
    error_reporting(E_ALL); 

你已经两个选项:

  1. 不打印一个没有被定义的变量。
  2. 更改error_reporting();与一个非通知打印。像:error_reporting(E_ALL & ~E_NOTICE);

希望这可以帮助你!

+0

谢谢,但仍然一样。现在,我在上传文件后在页面源中有另一条消息。该消息显示“您没有选择要上传的文件”,但该文件已上传。 – Derick 2010-08-31 06:00:47

+0

尝试,而不是isset(),如果(isset($ var)AND $ var!= NULL){} – ipalaus 2010-09-03 08:47:22

+0

最好使用empty();如果变量未定义,或者它是一个空数组,或者它是false或null或0,它会返回true。所以!empty($ var)是我真正想要确定的。 – 2010-09-03 11:06:04

0

这与CI或您的浏览器无关,它是一个经典的PHP通知。

+0

你能告诉我们光明之路吗? – Derick 2010-08-31 06:01:38

+0

正如我在下面的答案所建议的那样,您可以输出PHP警告,通知等。这些通知将指示您的代码中来自通知的行号。这可以让你发现问题,很可能它确实是使用不存在的索引的情况。 – Ferdy 2010-08-31 09:56:17