我正在尝试在我的项目中使用会话。它适用于localhost,但不适用于Web服务器。我在stackoverflow和ellislab上阅读了一些关于它的文章,但它对我的项目没有用。可能问题在于创建辅助类。
<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Memberlogin extends CI_Controller {
//protected $CI;
function __construct()
{
$CI =& get_instance();
parent::__construct();
$CI->load->library('session');
//$this->load->library('form_validation');
//$this->load->helper(array('form', 'url'));
$CI->load->helper('date');
$CI->load->helper('ip_address');
$CI->load->model('Sql_model');
}
现在错误是:
A PHP Error was encountered
Severity: Notice
Message: Trying to get property of non-object
Line Number: 14
和
A PHP Error was encountered
Severity: Error
Message: Call to a member function library() on a non-object
Line Number: 14
答案 0 :(得分:0)
试试这段代码,
function __construct()
{
parent::__construct();
$this->load->library('session');
$this->load->helper('date');
$this->load->helper('ip_address');
$this->load->model('Sql_model');
}
如果class在controllers目录中,您可以通过扩展CI_Controller直接获取CI实例并使用$this
。
答案 1 :(得分:0)
然后,尝试不调用get_instance()函数。就像文档说:
{{1}}
答案 2 :(得分:0)
这会让你发疯。但它确实有效。
autoload.php
$autoload['libraries'] = array('database', 'session');
$autoload['helper'] = array('url','date','ip_address');
和加载__constructor
public function __construct()
{
parent::__construct();
$this->load->model('Sql_model');
}