проблема с разрушением сессии YII2 не работает - PullRequest
0 голосов
/ 31 августа 2018

У меня проблема. В Yii2 у меня есть вид, контроллер и макет. в макете и представлении я проверяю сеанс, если активный что-то делает. код такой:

if (!isset($session)) $session = Yii::$app->session;
if ($session->isActive && $session->has('username')):
   //some code here if there is session echo something
else:
  //some code here if there is no session echo something else
endif;

тогда у меня есть действие контроллера, которое уничтожает сессию, но также перенаправляет на файл представления выше, код выглядит так:

public function actionDestroysess($status = 1) {
        Yii::$app->session->destroy();
        return $this->render('masuk', ['status' => $status]);
}

проблема в том, что условие сеанса в представлении возвращает true, это означает, что Yii::$app->session->destroy(); вообще не работает, я попытался var_dump(Yii::$app->session->get('username)); на контроллере ниже команды уничтожения, но все же получил значение. Помогите мне, почему этот сеанс уничтожения не работает?

1 Ответ

0 голосов
/ 31 августа 2018

попробуйте это: Изменить

Yii::$app->session->destroy();

до

Yii::$app->getSession()->destroy();

если вы хотите удалить точную сессию, вы должны использовать:

Yii::$app->session->remove('name')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...