程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP提示Notice: Undefined variable的解決辦法

PHP提示Notice: 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);//xiariboke.com 即可。

一般情況下直接建議在 php 文件中進行添加,這種方法簡單,不用去修改服務端的 php.ini 了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved