[英]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_exists
或if(!empty($arrayName['key']))
來為用戶發送的所有東西。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.