Dokładnie tak jak piszę w temacie. Strona w której wykorzystuję klasę session działa bez problemu na serwerze lokalnym (mam zainstalowany WebServ). Klasę session inicjuję w konstruktorze kontrolera jak niżej:
  1. class Admin extends CI_Controller {
  2.  
  3. public function __construct(){
  4. parent::__construct();
  5. $this->load->library('session');
  6. }

a później w kolejnych metodach wykorzystuję tak jak to jest to opisane w dokumentacji CI:
  1. public function index(){
  2.  
  3. if ($this->session->userdata('zalogowany') == null) {
  4. $login = $this->input->post('login');
  5. $haslo = sha1($this->input->post('haslo'));
  6. $haslo_b = $this->Admin_m->login($login);
  7. if ($haslo_b != null) {
  8. if ($haslo == $haslo_b) {
  9. $this->session->set_userdata('zalogowany', '1');
  10. redirect('admin');
  11. } else {
  12. $this->load->view('login');
  13. }
  14. } else {
  15. $data['komunikat'] = 'Nie wprowadzono danych!';
  16. $this->load->view('login', $data);
  17. }
  18. } else {
  19. $this->load->view('panel/panel');
  20. }
  21. if ($this->input->get('wyloguj') == 'ok') {
  22. $this->session->unset_userdata('zalogowany');
  23. redirect('admin');
  24. }
  25. }


Niestety nie działa to na hostingu. Gdy jednak skorzystałem z czystego php, posługując się normalnie zmienną globalną $_SESSION['zalogowany'] to nie było problemu i strona działa normalnie na hostingu. Być może jest coś jeszcze do ustawienia w pliku config?. Dodam, że $config['encryption_key'] mam ustawione, ale nie wiem czy to może mieć coś wspólnego. Macie jakiś pomysł?