0

我是 CodeIgniter 框架的新手。我使用的是 2.1.4 版本。我设计了一个简单的登录表单,带有 javascript 验证和网站主页。您能帮我了解如何声明会话,以及如何在单击退出链接时销毁会话。

登录页面的控制器文件(加载视图页面 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>

为了初始化会话,我需要知道所有构造函数更改/配置更改需要什么,以及会话销毁的方法。

4

2 回答 2

0

要启动会话库,请转到application/config/config.php并更改以下行:

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

如果您在autoload.php. 要销毁会话,您将使用:

$this->session->sess_destroy();

设置会话:

$newdata = array(
               'username'  => 'johndoe',
               'email'     => 'johndoe@some-site.com',
               'logged_in' => TRUE
           );

$this->session->set_userdata($newdata);
于 2013-10-21T09:37:14.007 回答
0

这是一个控制器...首先您需要声明一个会话,以便您有两个选择来声明一个是转到 application/config/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 个提交按钮并将表单操作声明为 localhost/index.php/login/success

对于注销 localhost/index.php/login/logout

于 2013-10-21T10:35:59.313 回答