Codeigniter 坦克“授权会话:有时”-&燃气轮机;ci";有时不是
我的应用程序是PHP/CodeIgniter/TankAuth 我的数据库中有各种帐户余额,我想在我的应用程序页面上显示此帐户余额。所以我在所有方面都做得很好,在会话数据中保持平衡 在某些情况下,余额仅在登录时更改。因此,在tank_auth组件中,有一个控制器、一个库等。流程是auth controller登录调用tank_auth library登录函数,在该函数中创建会话,然后调用模型来更新登录信息(IP地址、上次登录等),这些都是现成的 因此,我在库中扩展了会话方面,添加了我自己的用户数据“account\u balance”。这很好,但问题是当平衡发生变化时,我的会话数据“落后”,我真的很难想出如何更新它 第一种尝试是在用户模型(库存标准Tank_Auth模型)中更新数据库后,简单地尝试并更新会话信息。它不起作用,给了我一个错误 经过一些实验,我发现我不明白这是怎么回事Codeigniter 坦克“授权会话:有时”-&燃气轮机;ci";有时不是,codeigniter,session,tankauth,Codeigniter,Session,Tankauth,我的应用程序是PHP/CodeIgniter/TankAuth 我的数据库中有各种帐户余额,我想在我的应用程序页面上显示此帐户余额。所以我在所有方面都做得很好,在会话数据中保持平衡 在某些情况下,余额仅在登录时更改。因此,在tank_auth组件中,有一个控制器、一个库等。流程是auth controller登录调用tank_auth library登录函数,在该函数中创建会话,然后调用模型来更新登录信息(IP地址、上次登录等),这些都是现成的 因此,我在库中扩展了会话方面,添加了我自己的用户数
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
我有两个错误:
- 消息:未定义的属性:Auth::$ci
- 正在尝试获取非对象的属性
提前谢谢 我试图理解的是$this->session和$this->ci->session之间的区别通常在我们的控制器函数中,我们使用$this构造调用任何可用的CodeIgniter函数,get_实例函数返回CodeIgniter超级对象,因此,我们要么使用$this构造,要么在CodeIgniter用户指南中使用超级对象变量define by&get_instance(),它表示CI会话类不使用本机PHP会话。因此,如果“$this->ci->session”是CodeIgniter会话类,“$this->session”是本机PHP会话类,那么这个Tank_Auth库实际上同时使用了这两个类。。。。正确的?为什么要这样做?
//if you are using get_instance() in codeigniter then user following syntax to write code:
$ci =& get_instance();
echo $ci->session->userdata("ip_address");