2017-04-05 49 views
-2

目前這只是顯示「錯誤」:如何顯示錯誤?

if(@mail($email,$email_subject,$email_content)) { 
    echo 'Message sent!'; 
} else { 
    echo 'ERROR!'; 
} 

我怎樣才能顯示真正的錯誤?

感謝

+1

*「我如何顯示錯誤?」* - 從刪除「@」符號開始並使用錯誤報告。 –

+0

刪除'@'也看到郵件的響應錯誤() – JustOnUnderMillions

+0

...然後來告訴我們錯誤是什麼。簡而言之:你的代碼失敗了。 –

回答

0

平均水平代碼

ob_start(); 
$result=mail($email,$email_subject,$email_content); 
$err=ob_get_clean(); 
if($result) { 
    echo 'Message sent!'; 
} else { 
    echo "ERROR: {$err}"; 
} 

爲什麼

  • 你不必拋出和捕獲一個真正的例外
  • 你可以寫在你需要在頁面上的錯誤它
  • 簡單修復,無需額外的東西

但是,如果mail()的錯誤仍然不會顯示,您必須將error_reporting()設置爲合適的級別。