【发布时间】:2014-06-27 12:30:33
【问题描述】:
首先,我检查了是否有类似的问题,但似乎没有。如果我重新问一个已经回答的问题,请告诉我。谢谢。
我是 codeIgniter 的新手,我不知道在哪里初始化会话库 $this->load->library('session'); 。
我应该像this 示例中那样专门为会话制作一个控制器吗?或者我应该把它放在我已经存在的控制器之一中?
到目前为止,我的两个主要控制器称为 pages 和 user。这是每个代码的一部分。
用户:
<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
//login / inscription handler
class User extends CI_Controller{
public function __construct(){
parent::__construct();
$this->load->database();
$this->load->library('layout');
//$this->load->library('session'); This is where I would logically load the library
$this->layout->set_title('User');
}
public function add(){
$this->load->model('/user/add');
$this->add->user();
$this->layout->add_includes('css', 'assets/css/success.css');
$this->layout->view('pages/success');
}
public function connexion(){
$this->load->model('/user/connexion');
$user = $this->connexion->find();
$newdata = array(
);
$this->layout->view('pages/logged');
}
}
?>
页数:
<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Pages extends CI_Controller {
public function __construct() {
parent::__construct();
// load the library
$this->load->library('layout');
//$this->load->library('session') Or should I put it here?
$this->layout->set_title('Pages');
}
public function index() {
$this->layout->set_title('Welcome' . $this->layout->title_separator . 'Pages');
$this->layout->add_includes('css', 'assets/css/home.css');
$this->layout->view('pages/home');
}
public function contact()
{
$this->layout->add_includes('css', 'assets/css/contact.css');
$this->layout->view('pages/contact');
}
public function nouveautes()
{
$this->layout->add_includes('css', 'assets/css/news.css');
$this->layout->view('pages/news');
}
public function connexion()
{
$this->layout->view('pages/sign_in');
}
public function bureau()
{
$this->layout->add_includes('css', 'assets/css/board.css');
$this->layout->view('pages/board');
}
public function membres()
{
$this->layout->add_includes('css', 'assets/css/members.css');
$this->layout->view('pages/members');
}
}
所以,分解它。 Pages 控制器几乎可以加载所有主要页面。 用户控制器检查用户是否正在尝试注册或登录,并会加载一个显示“恭喜您现在已登录”(或未登录)的页面。
注意在每个控制器的 __consruct() 中我认为我应该加载库的注释区域。
我应该在哪里初始化它?最常用的方法是什么?为什么?
其他信息:
我想用我的会话信息做什么?我希望每当用户访问我的网站(登录或未登录)时都会创建一个会话。当用户登录时,我会使用额外信息更新会话。
【问题讨论】:
标签: php codeigniter session