[eluser]Emkay[/eluser]
I want the site to check if login cookies have been set on every page load, and subsequently log the user in if they haven't already. I am trying to use hooks for this purpose.
My hooks config file
Code:
$hook['post_controller_constructor'] = array(
'class' => 'Login',
'function' => 'cookie_login',
'filename' => 'login.php',
'filepath' => 'controllers',
);
My Login class
Code:
class Login extends CI_Controller {
function cookie_login() {
if($this->input->cookie('email') && $this->input->cookie('password') && $this->session->userdata('active') != 1) {
$password = $this->db->escape($this->input->cookie('password'));
$email = $this->db->escape($this->input->cookie('email'));
$sql = "SELECT users.user_id, username, email, user_type, email_verified, location_id
FROM users WHERE (email = $email AND password = $password)";
$query = $this->db->query($sql);
if ($query->num_rows == 1 ) {
$user = $query->row();
$this->session->set_userdata('active','1');
$this->session->set_userdata($user);
$this->standard->update_location($user->location_id,'both');
}
}
}
etc etc..
But I keep getting these errors:
Quote:A PHP Error was encountered
Severity: Notice
Message: Undefined property: Login::$session
Filename: controllers/login.php
Line Number: 17
Quote:Fatal error: Call to a member function userdata() on a non-object in C:\wamp\www\site\controllers\login.php on line 17
Help?
I have already autoloaded session and database libraries btw