簡體   English   中英

WAMP和PHP中未定義的索引錯誤報告

[英]Undefined Index Error Reporting in WAMP and PHP

我正在使用wamp來開發一個php應用程序。 我的問題是,每當我調用一個有時碰巧沒有值的變量時,我會得到一個錯誤,表明它是一個未定義的索引。 有沒有辦法將錯誤報告更改為不顯示此錯誤? 在輸出變量之前,我必須使用isset來確定它是否已設置,但我不想這樣做。 我的應用程序中有一些區域使這種方法效率低下。

如果您不想更改error_reporting級別,則應在使用之前檢查,是否存在變量。 你可以用

 if(isset($var)) 

為了它。 你可以添加一些功能,不要總是寫它。 例:

 function getPost($name,$default=null){
     return isset($_POST[$name])?$_POST[$name]:$default;
 }

用法:

getPost('id');
getPost('name','Not Logged In');

你可以在php.ini中關閉機制。

這個帖子可以幫到你。

http://www.wampserver.com/phorum/read.php?2,70609,70700

但通常最好處理未定義的變量,因為它們可能會為您節省一些運行時間的麻煩。

更新:

在php.ini中更改

error_reporting = E_ALL到error_reporting = E_ALL&~E_NOTICE

試試這個:

if(!isset($ var))$ var =“”;

PHP.ini文件駐留在兩者中:

斌\\ PHP \\ php5.x

BIN \\ apache的\\ apache2.x \\ BIN

一定要在apache文件夾版本中進行更改


還設置:

display_errors =關閉

display_startup_errors =關閉

error_reporting = E_ALL

log_errors =開

使錯誤不會顯示在客戶端上,但仍允許它們記錄在錯誤日志中。

有多種方法可以解決這個問題:
error_reporting(0)在腳本的頂部使用它
在php.ini中設置display_errors = Off
在生成錯誤的語句之前使用“@”

但除非你正在寫一些微不足道的東西,否則你必須使用array_key_existsif(!empty($arrayName['key']))來為用戶發送的所有東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM