Ritu
Ritu

Reputation: 23

Session destroy is not working properly in codeigniter

Session destroy is not working properly in codeigniter header code

  if($session_data!="" AND $session_data['is_business_admin']=="1" AND  $session_data['is_system_admin']=="0" AND $session_data['is_super_admin']=="0" )
  {
       echo "business_admin is logout";
       echo "  Welcome <i>" . $session_data['first_name'] . "</i> !";   
  ?>
  <a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="true">      
   <ul style="display: none;" class="dropdown-menu">
                                <li><a href="<?php echo site_url('Admin/dashboard/'); ?>">Dashboard</a></li>
                                <li class="divider"></li>
                                <li><a href="<?php echo site_url('Admin/logout/'); ?>">Logout</a></li>
                            </ul>
                        </li>   
                    </ul>
                         <?php   }

controller code

public function logout() {
// Destroy session data
$this->session->sess_destroy();

$data['message_display'] = 'Successfully Logout';
$message = "you are successfully logout";
echo "<script type='text/javascript'>alert('$message');</script>";
//$this->load->view('login', $data);
 $this -> login();
}

Upvotes: 1

Views: 719

Answers (2)

Abdulla Nilam
Abdulla Nilam

Reputation: 38584

In __construct

function __construct()
{
    parent::__construct();
    ob_start(); # Add this
    $this->load->library('Session');
}

and in logout/session destroy part add this

$this->load->driver('cache');
$this->session->sess_destroy();
$this->cache->clean();
redirect(''); # your home controller
ob_clean();

Upvotes: 1

Atul Cws
Atul Cws

Reputation: 7

use

$this->session->unset_userdata('username_or_key_used_to_check_login'); 

Upvotes: 0

Related Questions