Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php CodeIgniter会话在一个控制器中可用,但在另一个控制器中不可用_Php_Codeigniter - Fatal编程技术网

Php CodeIgniter会话在一个控制器中可用,但在另一个控制器中不可用

Php CodeIgniter会话在一个控制器中可用,但在另一个控制器中不可用,php,codeigniter,Php,Codeigniter,CodeIgniter会话在一个控制器中可用,但在其他控制器中不可用 会话正在设置用户控制器 class User extends CI_Controller { // SEssion worked here public function __construct() { parent::__construct(); session_start(); } function setSess (){ // databa

CodeIgniter会话在一个控制器中可用,但在其他控制器中不可用

会话正在设置用户控制器

class User extends CI_Controller {
    // SEssion worked here 
    public function __construct()
    {
        parent::__construct();
        session_start();
    }

function setSess (){
       // database model call, Value comes from database
       $_SESSION['user'] = array ( 'isLoggedIn' => true,
        'id' => $userData[0]['id'],
        'username' => 'ABC',
        'email_address' => $userData[0]['email_address'],
         'country' => $userData[0]['country'],
        'lastLoggedin' => $lastLoginTime
                                            );
  // Redirect to profile
}
}
无法在中接收它

class Profile extends CI_Controller {

        public function __construct()
        {
            parent::__construct();
            session_start();
        }

        public function index() {}

        public function display() {
            ECHO "<PRE>";
            print_r($_SESSION);

            $data['title'] = 'Profile of '.$_SESSION['user']['username'];
            // Gives error here while echoing $_SESSION['user']['username']

        }
    }

我错过了什么?有什么建议吗?

不要使用会话启动,而是加载CodeIgniter会话库

在用户控制器中:

class User extends CI_Controller {
    public function __construct()
    {
        parent::__construct();
        if(!isset($this->session)) {
            $this->load->library('session'); # do not use 'session_start();'
        }
    }
    function setSess (){
       $_SESSION['user'] = array ( 'isLoggedIn' => true,
           'id' => $userData[0]['id'],
           'username' => 'ABC',
           'email_address' => $userData[0]['email_address'],
           'country' => $userData[0]['country'],
           'lastLoggedin' => $lastLoginTime
       );
    }
    ...
}
class Profile extends CI_Controller {
    public function __construct()
    {
        parent::__construct();
        if(!isset($this->session)) {
            $this->load->library('session');
        }
    }
    ...
}
在配置文件控制器中:

class User extends CI_Controller {
    public function __construct()
    {
        parent::__construct();
        if(!isset($this->session)) {
            $this->load->library('session'); # do not use 'session_start();'
        }
    }
    function setSess (){
       $_SESSION['user'] = array ( 'isLoggedIn' => true,
           'id' => $userData[0]['id'],
           'username' => 'ABC',
           'email_address' => $userData[0]['email_address'],
           'country' => $userData[0]['country'],
           'lastLoggedin' => $lastLoginTime
       );
    }
    ...
}
class Profile extends CI_Controller {
    public function __construct()
    {
        parent::__construct();
        if(!isset($this->session)) {
            $this->load->library('session');
        }
    }
    ...
}

还要确保配置文件设置正确。按照此处的文档操作

我正在本地计算机上使用它。我正在给你安排一个疗程,你什么都不缺。这应该行得通。您是否在任何地方取消了会话?这是我唯一能想到的。不。。我仅在注销事件时销毁会话。是否有其他超级全局变量的行为与此相同,或者只是会话?它是纯核心PHP$\u会话。我没有使用任何CodeIgniter会话库