2011-12-13 131 views
2

我刚刚从一个php4共享主机移动到一个php5共享主机的CI应用程序中发生致命错误。Codeigniter调用一个非对象的成员函数set_userdata()

Fatal error: Call to a member function set_userdata() on a non-object in /home/chuck_ravenna/bob.ravennainteractive.com/system/application/helpers/authenticate_helper.php on line 13 

代码全部位于下面的链接

https://gist.github.com/1474173

我试图找出如果PHP版本可能是问题。该网站在旧服务器上运行良好,并且新服务器没有将php4作为选项。

具体的代码行多数民众赞成断是:

$this->session->set_userdata("admin", $user[0]["admin"]); 
+0

为什么要调用`session_start()`并使用`$ _SESSION [“user”]`,而不是仅使用CI会话库? – minboost 2011-12-14 00:53:23

回答

5

不能使用$this一个帮手内作为辅助文件就是函数的集合(无级那里)。要使用由控制器的$this提供的功能,你就必须做:

$ci = & get_instance(); 
$ci->session->set_userdata("admin", $user[0]["admin"]); 
1

$ CI = & get_instance(); ('session'); $(“会话”);

-2

您正在使用Codeigniter的默认配置。 问题是:NO DATABASE CONFIGURATION DONE! 您必须在此输入:\ YOUR_APPLICATION_NAME \ application \ config \ database.php

并且您必须使用文本编辑器打开此文件。

设置下列变量和你做:

$active_group = "default"; 
$active_record = TRUE; 
$db['default']['hostname'] = "127.0.0.1"; 
$db['default']['username'] = "root"; 
$db['default']['password'] = ""; 
$db['default']['database'] = "NameOfYourDatabase"; 
0

你加载会话librairy在构造函数和后父:: __结构()指令?

相关问题