Yii::$app->session->set() 在 Yii2 中不起作用

问题描述 投票:0回答:0

值已成功注册到数据库中,但重定向新页面上未显示 Flash 值 我也保存了日志,但会话中没有设置任何内容

main.php

'components' => [
        ...

        'session' => [
            'class' => 'yii\web\Session',
            'cookieParams' => [
                'httpOnly' => true,
                'lifetime' => 30 * 24 * 60 * 60, 
            ],
            'name' => 'advanced-frontend-rasha',
        ],

Abc控制器:

if($model->save()){
    $session = Yii::$app->session;
    $session->set('step', 'careers/step2');
    $session->set('registrationStep2', 2);
    $session->setFlash('success', $successMessage);


    return $this->redirect(['careers/step2']);

}else{
    Yii::$app->session->setFlash('error', $errorMessage);
    return $this->render('step1', ['model' => $model]);
}

if($model->save()){
    Yii::$app->session->set('step', 'careers/step2');
    Yii::$app->session->set('registrationStep2', 2);
    Yii::$app->session->setFlash('success', $successMessage);

    return $this->redirect(['careers/step2']);

}else{
   Yii::$app->session->setFlash('error', $errorMessage);
   return $this->render('step2', ['model' => $model]);
}

if($model->save()){
     Yii::$app->getSession()->set('step', 'careers/step2');
     Yii::$app->getSession()->set('registrationStep2', 2);
     Yii::$app->getSession()->setFlash('success', $successMessage);

     return $this->redirect(['careers/step2']);

 }else{
    Yii::$app->getSession()->setFlash('error', $errorMessage);
    return $this->render('step1', ['model' => $model]);
}

查看:

<?php if (Yii::$app->session->hasFlash('success')) { ?>
 <div class="alert alert-success" role="alert">
 <p> <?= Yii::$app->session->getFlash('success') ?></p>
</div>
<?php } ?>
<?php if (Yii::$app->session->hasFlash('error')) { ?>
    <div class="alert alert-danger" role="alert">
    <p> <?= Yii::$app->session->getFlash("error") ?></p>
   </div>
<?php } ?>
$session = Yii::$app->session;

Yii::info('Session name: '.$date->date('Y/m/d H:i')  . $session->name, 'session');
Yii::info('Session : '.$date->date('Y/m/d H:i')  . $session->get('step'), 'session');
Yii::info('Session value2: '.$date->date('Y/m/d H:i') . $session->get('registrationStep2'), 'session');

Yii::info('All session values2: '.$date->date('Y/m/d H:i')  . print_r($session->getAllFlashes(), true), 'session');

应用程序日志

2023-11-24 00:04:05 [::1][40][-][信息][会话] 会话名称:advanced-frontend-rasha 在 C:\xampp\htdocs 阿莎·伦滕德·尤夫

yii2 yii2-advanced-app
© www.soinside.com 2019 - 2024. All rights reserved.