zoukankan      html  css  js  c++  java
  • Yii 的session 实现返回上上页面

    学习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,
                ]);
            }
        }
  • 相关阅读:
    C open fopen read fread
    图像混合模式算法
    高级API和低级API
    strcpy_s与strcpy
    IsPowerOfTwo
    透明度算法
    POJ 2240(bellman_ford)
    POJ 1797(dijkstra)
    【转载】POJ 图论题目列表
    POJ 1502(Floyd)
  • 原文地址:https://www.cnblogs.com/jerrypro/p/6746659.html
Copyright © 2011-2022 走看看