當前位置:才華齋>計算機>php語言>

php新手易犯的幾個小錯誤

php語言 閱讀(3.21W)

本文為大家列舉了PHP新手易犯的幾個小錯誤,供大家參考。1、header already sent 這個錯誤通常會在你使用HEADER的時候出現,他可能是幾種原因。跟隨小編去看看吧!

php新手易犯的幾個小錯誤

  1、header already sent

這個錯誤通常會在你使用HEADER的時候出現,他可能是幾種原因:1,你在使用HEADER前PRING或者ECHO了2.你當前檔案前面有空行3.你可能INCLUDE了一個檔案,該檔案尾部有空行或者輸出也會出現這種錯誤。!

  2、頁面之間無法傳遞變數

get,post,session在最新的PHP版本中自動全域性變數是關閉的,所以要從上一頁面取得提交過來得變數要使用$_GET['foo'],$ _POST['foo'],$_SESSION['foo']來得到。當然也可以修改自動全域性變數為開(改為 reGISter_globals = On);考慮到相容性,還是強迫自己熟悉新的寫法比較好。

  3、Win32下apache2 用get方法傳遞中文引數會出錯:

你好&b=你也好

傳遞引數是會導致一個內部錯誤

解決辦法:"(你好)."&b="ncode(你也好)

.............

  4、win32下的session不能正常工作

預設的_path = /tmp

這顯然是Linux下的.配置,win32下php無法讀寫session檔案導致session無法使用,把它改成一個絕對路徑就可以了,例如_path = c:Windows emp

  5、Win32下mail()不能傳送電子郵件

在linux下配置好的sendmail可以傳送,在win32下需要呼叫smtp服務器來發送電子郵件,修改的SMTP = ip //ip是不帶驗證功能的smtp伺服器(網上很難找到)

php傳送郵件的最好解決方法是用socket直接傳送到對方email伺服器而不用轉發伺服器。

  6、初裝的MySQL如果沒有設定密碼,應該使用update set password="yourpassword" where user="root" 修改密碼

  7、顯示錯誤資訊

當的display_errors = On並且error_reporting = E_ALL時,將顯示所有的錯誤和提示,除錯的時候最好開啟以便糾錯,如果你用以前php寫法錯誤資訊多半是關於未定義變數的。變數在賦值以前呼叫會有提示,解決辦法是探測或者遮蔽。

例如顯示$foo,可以if(isset($foo)) echo $foo 或者echo @$foo