【问题标题】:How to solve - Unable to locate the specified class: Session.php in codeigniter如何解决 - 无法找到指定的类:codeigniter中的Session.php
【发布时间】:2017-03-18 19:03:29
【问题描述】:

我正在尝试在所有控制器中使用会话,但无法成功。

这是我的库控制器代码。

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

class MY_Controller extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();          

    }

    public function is_logged_in()
    {
        $user = $this->session->userdata('username');
        return isset($user);
    }
}

?>

在这里,我在我的另一个控制器文件中继承了它。

class Homepage extends MY_Controller
{
    public function __construct()
    {
        parent::__construct();
    }

    public function CheckSession()
    {
        if ($this->is_logged_in())
        {
            echo '111';
        }
    }
}

我也尝试了 helper,但给了我同样的错误。

<?php
        function is_logged_in() {
        // Get current CodeIgniter instance
        $CI =& get_instance();
        // We need to use $CI->session instead of $this->session
        $user = $CI->session->userdata('user_data');
        if (!isset($user)) { return false; } else { return true; }
    }
    ?>

autoload.php 部分

$autoload['helper'] = array('url','form','file','login');

$autoload['drivers'] = array('session');

$autoload['libraries'] = array('database','session', 'email', 'form_validation', 'MY_Controller'); 我是Following this link

【问题讨论】:

  • 您是否在自动加载文件中加载了会话库?
  • @DharaVihol 是的,我做到了。
  • 你能写出你得到的错误,以及与此有关的 autoload.php 部分吗?
  • 当我尝试控制器时,它说的是** Fatal error: Class 'MY_Controller' not found**

标签: php codeigniter


【解决方案1】:

您需要像这样在 authoload.php 中自动加载会话库

$autoload['libraries'] = array('session');

或者像这样在库文件的构造函数中加载会话库

public function __construct()
{
    parent::__construct();
    $this->load->library('session');
}

【讨论】:

    猜你喜欢
    • 2015-07-02
    • 2018-07-28
    • 2019-10-23
    • 2018-04-23
    • 1970-01-01
    • 2017-06-21
    • 1970-01-01
    • 2015-04-01
    • 1970-01-01
    相关资源
    最近更新 更多