在codeigniter 3中的database.php文件中获取userdata会话

时间:2018-03-14 06:00:43

标签: mysql session codeigniter-3

我正在使用CI版本3.1.0,我想在database.php文件中使用session。

我使用以下代码设置会话:

$newdata = array('name' => $udata[0]['name'], 
                 'id' => $udata[0]['id'],
                 'useremail' => $udata[0]['email_id'],
                 'is_superadmin' => $udata[0]['is_superadmin'],
                 'db_name' => $udata[0]['db_name'],
                 'db_user' => $udata[0]['db_user'],
                 'active' => TRUE);
                 $this->session->set_userdata($this->lang->line('common_admin_session_label'), $newdata);

它工作正常。

现在我在database.php文件中使用的代码如下:

$CI = &get_instance();
$CI->load->library('session');
$ses = $CI->session->userdata;
print_r($ses); die;

这给了我一个错误

A PHP Error was encountered
Severity: Notice

Message: Undefined property: Dashboard::$session

Filename: config/database.php

Line Number: 82

Backtrace:

File: C:\xampp\htdocs\tops_libraries_new\trunk\application\config\database.php
Line: 82
Function: _error_handler

File: C:\xampp\htdocs\tops_libraries_new\trunk\index.php
Line: 315
Function: require_once

我还在autoload.php文件

中加载库,驱动程序和包
$autoload['libraries'] = array('database','session','pagination');
$autoload['drivers'] = array('session');
$autoload['packages'] = array('database','form_validation','session','email');

任何人都可以帮我解决这个问题吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

我们可以通过config

覆盖控制器中的$this->config->set_item('item_name', 'item_value');

例如:

$this->config->set_item('item_name', $this->session->userdata('youritem'));

如果使用$config['item_name'] = 'testVal';的{​​{1}}中的config将{' $this->config->item('item_name')'

我希望这会帮助你......谢谢!