2014-07-24 75 views
1

保存模型後,我想將模型自動遞增ID存儲在會話變量中並重定向到視圖頁面。當我想在視圖頁面中回顯該會話變量時,它不起作用。從控制器重定向後Yii會話不工作

注意:我不使用用戶登錄/註銷系統。

在config.php

'session' => array(
     'autoStart'=>true, 
     'timeout'=>1200, 
    ), 

在控制器的文件

if ($model->save()) { 
    Yii::app()->session['orderId']=$model->id; 
    $this->redirect(array('view', 'id' => $model->id)); 
} 

在我使用重定向控制器()如果我使用渲染(),那麼它的工作。重定向後,它無法正常工作。

在查看文件

echo Yii::app()->session['orderId']; 

請幫我:(

回答

0

可以存儲會話數據與

if ($model->save()) { 
Yii::app()->user->setState('orderId', $model->id); 
} 

用得到它

echo Yii::app()->user->getState('orderId'); 
+0

感謝您的答覆。但這不起作用。你確定你的代碼適用於訪客用戶嗎?因爲我提到了我的問題「注意:我不使用用戶登錄/註銷系統。」 –

0

試試這個,

在控制器

if ($model->save()) { 
    Yii::app()->user->setState("orderId",$model->id); 
    $this->redirect(array('view', 'id' => $model->id)); 

} 

//獲取會話變量

Yii::app()->user->getState("orderId");