簡體   English   中英

未在codeigniter中設置會話

[英]session unset in codeigniter not working

我aam實際上無法在codeigniter.log中注銷后重定向到同一頁面。但是,當我第一次單擊注銷時,它重定向到同一頁面,但是會話沒有被刪除...比當我單擊注銷時,會話再次被破壞..不能在這里追蹤問題。

控制器...

    <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Admin extends CI_Controller
{
     public function __construct()
     {
       parent::__construct();
       $this->load->model('admin_model');

     }
     public function index()
      {


         $data['title']= 'Home';
         $this->load->view("registration_view.php", $data);

      }
      public function dashboard()//Page after sucessful Admin Login
      {


           $username= $this->input->post('username');
           $password= md5($this->input->post('password'));;


           $result = $this->admin_model->login($username,$password);
          if ($result == true) 
          {

             $this->load->view('top_menu.php');
             $this->load->view('dashboard.php');
          }
          else 
          {
                 $data = array(
                            'error_message' => 'Invalid Username or Password'
                               );
                $this->load->view('registration_view.php', $data);
          }


      }


     public function logout()//Admin Logout
     {
         $newdata = array(

                          'user_name'  =>'',

                          );
         $this->session->unset_userdata($newdata );
         $this->session->sess_destroy();
         $this->load->view('top_menu.php');
     }
     public function users()//User Lists
      {

          $this->load->view('top_menu.php');
          $this->data['users'] = $this->admin_model->getUsers();
          $this->load->view('list_user.php',$this->data);


      }
      public function delete_user()//Delete Users
      {


          $id=$this->input->post('id');
          $this->admin_model->delete_user($id);



      }
      public function delete_multiple()//Delete Multiple Users
      {

        //$id = $_POST['ids'];
        //echo $data=$id;
        //$this->admin_model->delete_multiple($id);

        $this->admin_model->delete_multiple($_POST['checkedValues']);

      }
      public function add_user()//Add User Form
      {


         $this->load->view('top_menu.php');
          $this->load->view('add_user.php');
      }
      public function insert_user()//Add User Form
      {

         $this->load->library('form_validation');

        $this->form_validation->set_rules('username', 'Username', 'required');
        $this->form_validation->set_rules('password', 'Password', 'required');
        $this->form_validation->set_rules('email', 'Email', 'required');
        $this->form_validation->set_rules('contact', 'Contact', 'required');
         if ($this->form_validation->run() == FALSE)
        {
            $this->add_user();
        }
        else
        {
          $this->admin_model->insert_user();
          $this->users();   
        }


      }


}
 ?>

在視圖文件中注銷部分...

<!-- Start: page-top-outer -->
<div id="page-top-outer">    
<!-- Start: page-top -->
<div id="page-top">
    <!-- start logo -->
    <!--<div id="logo">
    <a href=""><img src="images/shared/logo.png" width="150" height="150" alt="" /></a>
    </div>-->
    <!-- end logo -->

    <div class="clear"></div>
</div>
<!-- End: page-top -->
</div>
<!-- End: page-top-outer -->
<div class="clear">&nbsp;</div>
<!--  start nav-outer-repeat................................................................................................. START -->
<div class="nav-outer-repeat"> 
<!--  start nav-outer -->
<div class="nav-outer">                 
        <!-- start nav-right -->
        <div id="nav-right">            
            <h4><?php echo anchor('admin/logout', 'Logout'); ?></h4>            
             <div id="welcome">

             <h2>Hello <?php echo $this->session->userdata('user_name'); ?>,</h2>
             </div>

            <div class="clear">&nbsp;</div>                 
        </div>
        <!-- end nav-right -->

        <!--  start nav -->
        <div class="nav">
            <h1 style="padding-top:7px;color:#900">AdWare</h1>
        </div>
        <!--  start nav -->                                       
</div>
<div class="clear"></div>
<nav class="hk-menu">
    <div class="nav-outer">
      <ul class="hk-ul select" >
      <?php $current_url=current_url();?>

            <li class="<?php if($current_url==base_url()."index.php/admin/dashboard") echo 'current';?>"><a href="list_category.php"><b>CATEGORY</b></a>
            </li>
            <li class="<?php if(( basename( $_SERVER["SCRIPT_FILENAME"] ) == 'list_video.php') || ( basename( $_SERVER["SCRIPT_FILENAME"] ) == 'create_user.php' ) ) echo 'current';?>"><a href="list_video.php"><b>VIDEOS</b></a>

            </li>
            <li class="<?php if($current_url==base_url()."index.php/admin/users")  echo 'current';?>"><?php echo anchor('admin/users', 'USERS',array('class' => 'li_style'));?>
            </li>
        </ul>
    </div>  
</nav>
<div class="clear"></div>
<!--  start nav-outer -->
</div>
<!--  start nav-outer-repeat................................................... END -->
 <div class="clear"></div>
<!-- start content-outer -->
<div id="content-outer">
<!-- start content -->
<div style="height:20px">&nbsp;</div>
<div id="content">
<style>


</style>

我想要的是單擊“注銷”時,會話應該被銷毀,並且應該重定向到沒有會話的視圖頁面

會話類在CI3中已更改,現在session_destroy沒有任何參數。 嘗試$ this-> session-> sess_destroy();

來源: http : //www.codeigniter.com/user_guide/libraries/sessions.html#destroying-a-session

要銷毀會話,您只需:

$this->session->sess_destroy();

我認為您應該在此行之后嘗試重定向用戶:

$this->session->sess_destroy();
redirect('site/login', 'refresh');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM