Функция CodeIgniter для очистки сессии - PullRequest
1 голос
/ 20 марта 2011

Если я раскомментирую этот код, я получу пустую страницу на сайте.Если я это прокомментирую, сайт работает.Вот мой код выхода (авторизация по сеансам):

    function exit($action='') {
    if ($action == "true") {
        echo "Exit.";
        return;
    }
    $login = $this->session->userdata('username');
    if ($login == NULL) {
        redirect('/blog/login/', 'location', '301');
    }
    $array_itmes = array('username' => "$login");
    $this->session->unset_userdata($array_items);
    redirect('/blog/exit/true/', 'location', '301');}

после обычного входа в систему:

    $newdata = array('username' => "$name");
    $this->session->set_userdata($newdata);

в других действиях я использую:

    $login = $this->session->userdata('username');
    if ($login !== NULL) {
        echo $login;
    }

и яполучить мое имя пользователя.где ошибка в первом коде?я из России, извините за плохой английский.

Ответы [ 3 ]

7 голосов
/ 20 марта 2011

Просто замените его на $this->session->sess_destroy();

3 голосов
/ 03 августа 2012
$array_val = array('userid' => '','username' => '', 'email' => '');

$this->session->unset_userdata($array_val);

Это удалить отдельные детали сессии.

1 голос
/ 10 августа 2018

Ответ Антона уничтожит всю сессию сразу. Если вы хотите удалить все данные сеанса, используйте это, как сказал Антон:

$this->session->sess_destroy();

Но если вы хотите уничтожить только определенные пользовательские данные, используйте ниже,

$this->session->unset_userdata('user_name');

Надеюсь, это поможет, спасибо !!

Удачного кодирования !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...