2013-04-03 67 views
0

我在組件中有多頁面表單。首先,用戶無需登錄。但是如果他們想保存結果,他們需要登錄一個點。Joomla:登錄後現有會話變量消失

我保存的會話的模式,所以我可以訪問任何網頁上:

$session =& JFactory::getSession(); 
$session->set('model', serialize($model)); 

,並讀出來:

$session =& JFactory::getSession(); 
$model = unserialize($session->get('model', 'empty')); 

這種運作良好,但如果我登錄上頁面,當前會話被清除並且僅填充登錄信息。

我檢查不同的來源,但我發現的唯一的事情是,會議在註銷清除,但沒有登入]。

任何人能告訴我在那裏這種行爲從何而來?我該如何解決它?

+0

我發現了一個讓它工作的技巧,但仍然被這種行爲所困惑。 它與loginform中的返回值有關。如果這被設置爲「自制鏈接」,則不起作用。但是,如果它被設置到Joomla自制的聯繫,它是:? 的index.php選項= com_mycomponent和視圖= MyView的 最有可能與執行的順序做,也許我嘗試從一個會話中獲取我的模型時,它的還不可用。隨時提供更好的答案! –

回答

0

爲什麼不首先避免這個問題並使用cookie?如果你想要,你可以在後端直接讀寫cookies,所以你不必在保存/讀取cookies之外重寫任何邏輯。

+0

,因爲價格保存在這個模型中,我不想將它保存到cookie中。價格在那裏,所以我確定用戶正在支付他在訂購時看到的價格。如果訂購時價格在數據庫中發生變化,則不會影響該特定用戶。 –