2012-10-06 14 views
0

我有設置JError警告的Joomla JError沒有顯示,但隨後出現

JError::raiseWarning(99, "Set your name please"); 
$app = JFactory::getApplication(); 
$app->redirect($r); 

重定向去與代碼

function saveUserDetails(){ 
//some code here 

//now I try to get that error which was set by raiseWarning 
$other_errors = JError::getErrors(); 
print_r($other_errors); 
die; 

它僅返回空數組控制器3D方組件。爲什麼它不包含那個錯誤?

好吧,我嘗試檢查會議無功與Joomla消息

$session =& JFactory::getSession(); 
$mes = $session->get('application.queue'); 
print_r($mes); 
die; 

再空。那個錯誤在哪裏,我無法理解。

+1

如果JError不會將此警告保存到某種類型的存儲 - 會話,數據庫等 - 您的警告不會持續到下一個請求。請參閱文檔以查看是否支持這種情況。 – DCoder

+0

我在提問中提到了兩個問題,在發佈問題之前我提出了兩種類型的檢查。檢查getErrors()和getSession()方法。我不確定是否檢查了所有類型的存儲。我如何檢查所有類型? –

回答

0

如果在重定向之後立即有新的請求,您可能會丟失會話變量(JError內容),使用FireBug,Net選項卡檢查觸發的請求,並查看發生了什麼。發佈您獲得的任何信息,但如果它不在JErrors中,則不應在網站上顯示。

你可以給一個鏈接到現場,讓我可以在那裏測試並看到可以幫助的HTTP請求。