0

我的应用是 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->sessions 有时不引用,但它同时使用两者。

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

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

我收到 2 个错误:

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

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

我错过了什么?

提前致谢。

4

1 回答 1

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");
于 2013-07-19T06:36:46.263 回答