[eluser]Gukkie[/eluser]
Hi buddy, thanks for the help, i dont quite get how u make the controller part work, any examples on how to do it?
This is my code currently on my "User" controller as well as my "Site" controller and my "User" model.
User controller(handles pages before login):
Code:
function __construct()
{
parent::__construct();
$this->load->model('User_model');
if(get_cookie('mysite') || $this->User_model->is_logged_in())
{
redirect('site');
}
$this->load->library(array('email', 'parser'));
}
Site controller(handles pages when logged in):
Code:
function __construct()
{
parent::__construct();
$this->load->model('User_model');
if(get_cookie('mysite') && !$this->User_model->is_logged_in())
{
$this->User_model->get_sess_from_cookie();
}
elseif(!$this->User_model->is_logged_in() || $this->User_model->is_logged_in() != true)
{
redirect('user/login');
}
}
User model(handles all db stuff before login):
Code:
function is_logged_in()
{
$is_logged_in = $this->session->userdata('is_logged_in');
if(!isset($is_logged_in) || $is_logged_in != true)
{
return FALSE;
}
else
{
return TRUE;
}
}
function get_sess_from_cookie()
{
$cookie = get_cookie('mysite');
$value = unserialize($cookie);
$id = $value['id'];
$username = $value['username'];
$this->db->where('id', $id);
$this->db->where('username', $username);
$query = $this->db->get('user');
if($query->num_rows == 1)
{
foreach($query->result() as $row)
{
$id = $row->id;
$username = $row->username;
$email = $row->email;
$sessionData = array(
'id' => $id,
'username' => $username,
'email' => $email,
'is_logged_in' => true
);
$this->session->set_userdata($sessionData);
}
}
}
as u can see, im calling the User_model in every controller just to varify if the session exists.