2013-10-21 58 views
0

我是CodeIgniter框架的新手。我正在使用2.1.4版本。我設計了一個簡單的登錄表單,一個javascript驗證和一個網站的主頁。您能否幫我理解如何聲明會話,以及如何通過單擊註銷鏈接來銷燬會話。登錄頁面的Code Igniter會話聲明

控制器文件(加載視圖頁面的login.php): -

class Login extends CI_Controller { 
    function __construct() { 
     parent::__construct(); 
     $this->load->helper('url'); 
    } 
function index(){ 
    $this->load->view('login'); 
} 
function success() { 
    redirect ('home'); 
    } 
} 

爲視圖home.php控制器文件home.php

class Home extends CI_Controller { 

// local constructor will be overriding the one in the parent controller class 
// for using a constructor in any of my Controllers 
function __construct() { 
    parent::__construct(); 

} 

public function index() 
     { 
       $this->load->view('home'); 
     } 
} 

我已經設計查看頁面home.php,並給出退出鏈接: -

<div class="logout"><a href="">Signout</a></div> 

爲了初始化會話,我需要知道,所有構造函數更改/配置更改需要什麼以及會話destoy的方法。

回答

0

要啓動會話庫,轉到application/config/config.php並更改以下行:

$autoload['libraries'] = array('session'); 

如果在autoload.php啓動會話會更好。要銷燬會話可以使用:

$this->session->sess_destroy(); 

設置會話:

$newdata = array(
       'username' => 'johndoe', 
       'email'  => '[email protected]', 
       'logged_in' => TRUE 
      ); 

$this->session->set_userdata($newdata); 
0

這裏是一個控制器...首先是u需要讓你有兩個選擇,一個聲明來聲明一個會話被轉到應用/配置/ CONFIG.PHP改變代碼作爲

$autoload['libraries'] = array('session'); 

,並按照此以下的方法(控制器)

class Login extends CI_Controller{ 
function __construct(){ 
    parent::__construct(); 
    $this->load->library('session'); 
} 
function index(){ 
$this->load->view('login'); 
} 
function success() { 
    $user=$this->input->post('user'); 
    $psw=$this->input->post('pswd'); 
    $this->load->model('validation'); 
    $result=$this->validation->useraccess($user,$psw); 
if($result) 
{ 
    $this->session->set_userdata('username', $user); //setting session 
    redirect ('home'); 
} 
else 
{ 
    $this->index(); 
} 
} 
function logout() 
{ 
    $this->session->unset_userdata('username'); 
    redirect('login','refresh'); 
} 
} 

這是模型,其中驗證完成

Class Validation extends CI_Model{ 
function __construct(){ 
parent::__construct(); 
} 
function useraccess($user,$pswd) 
{ 
$query = $this->db->query("select * from user where username='$user' AND password='$pswd'"); 
foreach ($query->result_array() as $row) 
{ 
    if($row['username']==$user AND $row['password']==$pswd) 
    { 
return true; 
    } 
    else 
    { 
    return false; 
    } 
} 
} 
} 

這裏是一個視圖 登錄頁面

創建2個文本框和1提交按鈕,並聲明形式行動 本地主機/ index.php文件/登錄/成功

for logut localhost/index.php/login/logout