2010-08-24 25 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