簡體   English   中英

CodeIgniter - 為什么我不能訪問另一個 controller 中的 session 集?

[英]CodeIgniter - Why can't I access a session set from a controller in another controller?

這是 Thisclass controller 我最初設置了一個 session 變量,其中 $data 是一個包含從數據庫中獲取的值的數組

<?php
    defined('BASEPATH') OR exit('No direct script access allowed');
    /**
    * 
    */
    class Thisclass extends CI_Controller
    {
        function __construct()
        {
            parent::__construct();
        }

        function index()
        {
            // The code for fetching values is here
            $this->session->set_userdata("mysession",$data);
        }
    }//end class
?>

這是另一個類 controller 我試圖訪問該變量

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
/**
* 
*/
class Anotherclass extends CI_Controller
{   
    function __construct()
    {
        parent::__construct();
    }

    function index()
    {
        var_dump($this->session->userdata('mysession'));
    }
}//end class

但是,該 var_dump 返回 null。 我已經檢查了 session 庫,它包含在 autoload.php 中。 我一次又一次地檢查了索引,它匹配了。 那么,我不能調用該變量的原因可能是什么? 在 web 服務器中,它確實有效。 session 變量可以在另一個 controller 中訪問,在這個本地副本中,它似乎不起作用。 我已經檢查了必要的設置,看起來還不錯。 謝謝你的幫助。。

對於這種特定情況,此解決方案有效。

I changed session.auto_start=0 to session.auto_start=1 in the php.ini of xampp. 我在這里找到了答案: php - Session are lost after redirect in CodeIgniter 3

我意識到這是關於 web 服務器配置的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM