繁体   English   中英

Codeigniter会话无法在其他功能中使用

[英]Codeigniter session not working in other functions

嗨,我有这种新型问题,是我的代码点火器会话无法在控制器的其他功能中工作

例如我的login3函数

\\Data is coming from here fine
foreach($query as $row)
{

 $name = $row->name;
 $id = $row->id;
$dmail = $row->email;

}

 if(isset($dmail))
{



  $arr = array();


 $arr['name'] = $name;
 $arr['id'] = $id;
 $arr['email'] = $email;


 $this->session->set_userdata("facebooker",$arr);

 $this->load->model('Gift');



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

$der = $this->session->userdata("facebooker");


 $arrr = array();



 $arrr['unamer'] = $der['name'];

 $arrr['ids'] = $der['id'];
 $arrr['email'] = $der['email'];

//After loading the views all data shows fine

$this->load->view("gifttoday/header",$arrr);
$this->load->view("gifttoday/welcome",$arrr);

 }

但是当我在此函数中但在同一控制器中调用相同的会话时,它没有显示数据

function profileselect()
{
$this->load->model('Gift');

 $var =array();

 $this->load->library('session');
 // Here i call this session but no data
  $mer = $this->session->userdata("facebooker");
 // When i print all the values of $mer it shows empty array 
 var_dump($mer);
/**
$this->load->view("gifttoday/header",$arrr);
$this->load->view("gifttoday/profilev",$arrr);
**/
  }

我已经搜索了这个问题,而我的员工在codeignitor会话中也遇到了这个问题,但是对我来说没有可用的修复程序可以帮助任何人解决这个问题。

更好的方法是在构造函数中加载会话库

public function __construct() 
    {

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

或者在config.php启用会话库

在设置可能会覆盖会话数据的会话数据之后,您正在调用该库(如果您已经首先加载了会话库):

所以这:

$this->session->set_userdata("facebooker",$arr);
$this->load->model('Gift');

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

应该是这样的:

$this->load->library('session');
$this->session->set_userdata("facebooker",$arr);
$this->load->model('Gift');

但是,如果您打算在应用程序中的多个位置使用会话库,则最好是自动加载会话库...

在文件application / config / autoload.php中编辑此行

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

然后避免在需要时手动加载它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM