Уничтожение сеанса в CI выполняется при следующем запросе, поэтому вы не можете уничтожить сеанс и открыть новый сеанс без промежуточного запроса.
Но вы можете сбросить все данные сеанса, кроме данныхВы хотели бы сохранить и данные Codeigniter должны сохранить сеанс.Это зависит от того, как настроен сеанс, по умолчанию это пользовательский агент, последнее действие и идентификатор сеанса.См. CI-Session class предпочтения (внизу страницы)
Эта функция удаляет все данные сеанса, кроме admin_id
$sessionData = $this->session->all_userdata();
foreach($sessionData as $key =>$val){
if($key!='session_id'
&& $key!='last_activity'
&& $key!='ip_address'
&& $key!='user_agent'
&& $key!='admin_id'){
$this->session->unset_userdata($key);
}
}