Tank_auth会话:有时“ - > ci”,有时不会

时间:2013-07-19 00:40:25

标签: codeigniter session tankauth

我的应用是PHP / CodeIgniter / TankAuth。

我的数据库中有各种帐户余额,我想在我的应用页面上显示此帐户余额。所以我已经完成了很好的工作,在会话数据中保持平衡。

在某些情况下,余额仅在登录时更改。所以在tank_auth组件中,有一个控制器,一个库等。流程是Auth控制器登录调用Tank_auth库登录功能,在那里创建会话,然后调用模型来更新登录信息(IP地址,最后登录等。)这些都是开箱即用的。

所以我扩展了库中的会话方面,添加了我自己的用户数据'account_balance'。这很好,但问题是当天平变化时,我的会话数据“落后”,我真的很难找到如何更新它。

首次尝试是在用户模型(库存标准Tank_Auth模型)中更新数据库后,尝试更新会话信息。它不起作用,给我一个错误。

经过一些实验得到这个,我意识到我不明白这是什么。 :

echo  $this->session->userdata('ip_address');      //works fine - no errors
echo  $this->ci->session->userdata('ip_address');  //fail

Tank_auth模块(库,控制器,模型等)有时会引用ci->会话,有时不会引用,但它同时使用两者。

在类构造函数中,它还使用:

$this->ci =& get_instance();  //in the library
$ci =& get_instance();        //in the model

我收到2个错误:

  • 消息:未定义属性:Auth :: $ ci
  • 试图获取非对象的属性

我的印象是人们会使用CI会话,因为它有一些不错的功能,如果不想要它们就不会。但是同时使用.....?

我错过了什么?

提前致谢。

1 个答案:

答案 0 :(得分:1)

//if you are using get_instance() in codeigniter then user following syntax to write code:
$ci =& get_instance();
echo $ci->session->userdata("ip_address");