![](/img/trans.png)
[英]CodeIgniter - Session not working when redirecting to other Controller
[英]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.