我的应用是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个错误:
我的印象是人们会使用CI会话,因为它有一些不错的功能,如果不想要它们就不会。但是同时使用.....?
我错过了什么?
提前致谢。
答案 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");