2014-07-24 44 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");