如果php会话没有在codeigniter中的另一个控制器中继续,该怎么办?

时间:2012-10-23 07:54:04

标签: php codeigniter session

我正在使用codeigniter开发一个Web应用程序,但由于与之相关的错误,我更愿意回避处理会话的codeigniter方式。因此我使用本机php会话处理。我遇到的问题是,似乎从默认控制器启动的会话不会在其他控制器中继续,这是一个痛苦的问题。 在我的默认控制器和其他控制器中,我已经开始或继续使用会话方式,在此之前的任何其他代码之前:

<?php
@session_start();

那么我该怎么办才能让会话继续在其他控制器中而不是被限制在默认控制器中呢?

2 个答案:

答案 0 :(得分:0)

在核心文件夹中使用其构造中的会话启动调用创建一个MY_Controller.php - 将其设置为扩展CI_Controller并使其他控制器扩展新创建的MY_Controller。

类似的东西:

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class MY_Controller extends CI_Controller {

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

            @session_start();
    }

}
/* End of file MY_Controller.php */
/* Location: ./application/core/MY_Controller.php */

答案 1 :(得分:0)

当所有controllers通过主index.php文件加载时,您可以在那里开始会话