php - Session Management For redirection in Codeigniter -


i want manage page redirection in codeigniter, have 2 controllers:

  1. logggedin
  2. login

when user try access login page while logged in, redirected loggedin controller

function __construct() {     parent::__construct();     $u = $this->session->userdata('username');      if(! isset($u))     {         redirect('loggedin');     } } 

and when tries access loggedin controller while not logged in, should redirected login controller

function __construct() {     parent::__construct();     $u = $this->session->userdata('username');      if(isset($u))     {         redirect('login');     } } 

but when press logout button, has redirect login controller, still remains on logggedin controller.

function logout() {     $this->session->sess_destroy();     redirect('login'); }  

what problem in code?

your condition returning true

$u=$this->session->userdata('username');  // true because $u equal value session or false if(!isset($u)) {   redirect('loggedin'); } 

instead, should this

$u=$this->session->userdata('username'); if( ! $u) {   redirect('loggedin'); } 

the userdata method return boolean(false) if data not present.

from code igniter manual - retrieving session data

note: function returns false (boolean) if item trying access not exist.


Comments

Popular posts from this blog

plot - Remove Objects from Legend When You Have Also Used Fit, Matlab -

java - Why does my date parsing return a weird date? -

Need help in packaging app using TideSDK on Windows -