如何在Codeigniter中设置会话?

gkl3eglg  于 4个月前  发布在  其他
关注(0)|答案(4)|浏览(33)

我正在阅读Codeigniter 2.2教程,我不清楚如何使用会话登录。
假设我有一个login.php,它检查数据库中的用户数据。那么如果它没问题,那么我应该在控制器中设置会话吗?

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

字符串
然后在admin.php页面中,我应该检查会话是否存在?:

$this->session->user_data('item'); ??


或者我如何检查该人是否已登录?
谢谢你

1yjd4xko

1yjd4xko1#

根据文档,要在session中做任何自定义的事情,你需要加载session库。如果你打算在整个应用程序中使用session,我建议你使用autoloading库。你可以在config/autoload.php中完成。
第一个月
这样你就不必在每个页面上都使用$this->load->library('session');
在库加载之后,设置你的自定义信息,可能是基于你数据库中的一些信息。所以在你的例子中,这将在login.php中:
$this->session->set_userdata('userId', 'myId');其中userId是会话变量的名称,myId是值。
然后,在随后的页面(admin.php)上,您可以检查该值是否存在。
if($this->session->userdata('userId') == '') { //take them back to signin }

eyh26e7m

eyh26e7m2#

1.装入对话程序库

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

字符串
1.设置会话

$_SESSION['email'] = $data['email'];


1.未设置对话

$this->session->unset_userdata($_SESSION['email']); // $this->session->sess_destroy();

jhiyze9q

jhiyze9q3#

设置用户会话

$the_session = array("key1" => "value1", "key2" => "value2");
$this -> session -> set_userdata($the_session);

字符串
读取用户会话

$foo = $this -> session -> userdata('key1');


每次使用CI session函数之前,您都需要使用$this->load->library('session');。或者您可以在autoload.php中设置$autoload['libraries'] = array('session');

xam8gpfp

xam8gpfp4#

$this->load->library('session'); // load the session library
$this->session->userdata("email") // check for the variable "email" in session array

字符串

相关问题