2

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

<?php
@session_start();

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

4

2 回答 2

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 */
于 2012-10-23T08:55:50.283 回答
0

由于所有内容都是controllers通过主index.php文件加载的,您可以在其中启动会话

于 2012-10-23T08:58:39.463 回答