簡體   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