【问题标题】:Base Controller error基本控制器错误
【发布时间】:2015-01-31 20:30:11
【问题描述】:

我做了一个基本控制器,出现了这个错误。

遇到了 PHP 错误

严重性:通知

消息:未定义的属性:Form::$session

文件名:core/MY_Controller.php

行号:7

致命错误:在第 7 行的 C:\xampp\htdocs\ci_intro\application\core\MY_Controller.php 中的非对象上调用成员函数 userdata()

MY_Controller 是这样的:

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

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

                     $user_data = $this->session->userdata('user_data');
                      $this->data['uname'] = $this->user_lib->get($id);
                 }
              }

这似乎是什么问题?谁能帮帮我?

【问题讨论】:

  • 您是否在您的autoload.php 文件中加载了您的session 库?

标签: php codeigniter controller


【解决方案1】:

您需要在控制器中添加session 库。

$this->load->library('session');

或者

你可以默认为整个项目添加它

/application/config/autoload.php:

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

另外,转到/application/config/config.php 并为您的应用程序添加一个加密密钥:

$config['encryption_key'] = 'YOUR-ENCRYPTION-KEY';

【讨论】:

  • 我这样做了,但出现了这个错误:遇到错误 为了使用 Session 类,您需要在配置文件中设置加密密钥。
  • 我不知道如何在我的配置文件中设置加密密钥。你能帮我吗?
  • 我可以放任何钥匙吗?
  • 是的,你可以放任何钥匙。更长更特殊的字符。这将使您的应用程序更加安全。
  • 谢谢!我使用了从其他人的 cmets 中读取的 codeigniter 密钥生成器。
猜你喜欢
  • 1970-01-01
  • 2016-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-28
  • 1970-01-01
  • 1970-01-01
  • 2017-01-11
相关资源
最近更新 更多