首页 > 其他 > 详细

Yii 的session 实现返回上上页面

时间:2017-04-22 00:55:54      阅读:285      评论:0      收藏:0      [点我收藏+]

学习session的页面:http://www.yiichina.com/doc/guide/2.0/runtime-sessions-cookies

关键摘要:

$session = Yii::$app->session;

// 检查session是否开启 
if ($session->isActive) ...

// 开启session
$session->open();

// 关闭session
$session->close();

// 销毁session中所有已注册的数据
$session->destroy();

访问session数据:

$session = Yii::$app->session;

// 获取session中的变量值,以下用法是相同的:
$language = $session->get(‘language‘);
$language = $session[‘language‘];
$language = isset($_SESSION[‘language‘]) ? $_SESSION[‘language‘] : null;

// 设置一个session变量,以下用法是相同的:
$session->set(‘language‘, ‘en-US‘);
$session[‘language‘] = ‘en-US‘;
$_SESSION[‘language‘] = ‘en-US‘;

// 删除一个session变量,以下用法是相同的:
$session->remove(‘language‘);
unset($session[‘language‘]);
unset($_SESSION[‘language‘]);

// 检查session变量是否已存在,以下用法是相同的:
if ($session->has(‘language‘)) ...
if (isset($session[‘language‘])) ...
if (isset($_SESSION[‘language‘])) ...

// 遍历所有session变量,以下用法是相同的:
foreach ($session as $name => $value) ...
foreach ($_SESSION as $name => $value) ...

 

实现访问上上也的关键代码如下

public function actionUpdate($id)
    {
        $model = $this->findModel($id);

        if ($model->load(Yii::$app->request->post()) && $model->save()) {
            if($refer = Yii::$app->session->get(‘refer‘)){
                Yii::$app->session->remove(‘refer‘);
                //此处保存后,使用之前的session跳转
                return $this->redirect($refer);
            }
            return $this->redirect([‘index‘]);
        } else {
            $session = Yii::$app->session;
            //获取跳转到update页面的链接
            $refer = Yii::$app->request->referrer;
            $session->set(‘refer‘,$refer);
            return $this->render(‘update‘, [
                ‘model‘ => $model,
            ]);
        }
    }

 

Yii 的session 实现返回上上页面

原文:http://www.cnblogs.com/jerrypro/p/6746659.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!