У меня на сайте почти работающая система регистрации, единственная отсутствующая часть - это функция выхода из системы. Он запускает сеанс, но, похоже, не разрушает его, поэтому предыдущий сеанс всегда активен. Правильно ли я уничтожаю сеанс или делаю что-то совсем не так?
Сначала я просто попытался установить пользовательские данные и затем сбросить их один за другим, прежде чем уничтожать сеанс, но это не сработало. Так что теперь я установил пользовательские данные с помощью простых строк, прежде чем уничтожать их, опять же, похоже, не работает.
ссылка на выход из системы выглядит следующим образом:
<a href="http://localhost/dir/dir1/dir2/index.php/Controller/logout">logout</a>
В моем контроллере у меня есть это:
public function logout() {
$this->load->helper('url');
$this->load->library('session');
$session_data = array(
'data' => 'data',
'data' => 'data',
'data' => 'data',
'data' => 'data',
'data' => 'data',
'data' => 'data',
'data' => 'data',
'data' => 'data',
'data' => 'data',
'data' => 'data',
'data' => 'data',
'data' => 'data',
'data' => 'data',
'data' => 'data'
);
$this->session->set_userdata($session_data);
$this->session->unset_userdata('data');
$this->session->unset_userdata('data');
$this->session->unset_userdata('data');
$this->session->unset_userdata('data');
$this->session->unset_userdata('data');
$this->session->unset_userdata('data');
$this->session->unset_userdata('data');
$this->session->unset_userdata('data');
$this->session->unset_userdata('data');
$this->session->unset_userdata('data');
$this->session->unset_userdata('data');
$this->session->unset_userdata('data');
$this->session->unset_userdata('data');
$this->session->unset_userdata('data');
$this->session->sess_destroy();
redirect('http://localhost/dir/dir1/dir2/index.php/Controller/loginview', 'refresh');
}
Я ожидаю, что сеанс будет уничтожен до того, как он будет перенаправлен (что он и делает), но когда я ввожу новые учетные данные для входа, он все равно показывает те, что были в предыдущем сеансе, вместо этого он должен показывать новые.