class Admin extends CI_Controller { public function __construct(){ parent::__construct(); $this->load->library('session'); }
a później w kolejnych metodach wykorzystuję tak jak to jest to opisane w dokumentacji CI:
public function index(){ if ($this->session->userdata('zalogowany') == null) { $login = $this->input->post('login'); $haslo = sha1($this->input->post('haslo')); $haslo_b = $this->Admin_m->login($login); if ($haslo_b != null) { if ($haslo == $haslo_b) { $this->session->set_userdata('zalogowany', '1'); redirect('admin'); } else { $this->load->view('login'); } } else { $data['komunikat'] = 'Nie wprowadzono danych!'; $this->load->view('login', $data); } } else { $this->load->view('panel/panel'); } if ($this->input->get('wyloguj') == 'ok') { $this->session->unset_userdata('zalogowany'); redirect('admin'); } }
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ł?