从控制器重定向后Yii会话无法正常工作

时间:2014-07-24 11:02:50

标签: php redirect yii

保存模型后,我想在会话变量中存储模型自动增量ID并重定向到视图页面。当我想在视图页面中回显该会话变量时,它无法正常工作。

注意:我没有使用用户登录/注销系统。

在config.php中

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

在控制器文件中

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

在我使用redirect()的控制器中,如果我使用render(),那么它的工作。重定向后,它无法正常工作。

在视图文件中

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

请帮帮我:(

3 个答案:

答案 0 :(得分:0)

您可以使用

存储会话数据
if ($model->save()) {
Yii::app()->user->setState('orderId', $model->id);
}

获取

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

答案 1 :(得分:0)

试试这个,

控制器中的

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

}

//获取会话变量

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

答案 2 :(得分:0)

尝试在重定向之前添加“返回”:

return $this->redirect(array('view', 'id' => $model->id);