5

我正在为电子商务网站使用 Codeigniter 和 Tank Auth。我发现如果客户将商品放入购物车(使用内置在购物车类中的 Codeigniter),然后在网站上注册,则会话与他们的购物车一起丢失(我假设它会出于某种原因生成一个新会话保持相同的会话)。

有没有人遇到过这个问题?是否有一个我忽略的简单解决方案。

谢谢

4

1 回答 1

3

就最近的代码而言,唯一删除空洞会话的地方是logout()函数 Tank_auth.php 第 118 行: https ://github.com/ilkon/Tank-Auth/blob/master/application/libraries /Tank_auth.php#L118

Tank Auth 的示例用法logout()activate()reset_email()- 检查您的代码中是否有这些方法。您还可以将 Tank Auth 注销功能更改为如下所示:

function logout($keep_session = false)
{
    $this->delete_autologin();

    // See http://codeigniter.com/forums/viewreply/662369/ as the reason for the next line
    $this->ci->session->set_userdata(array('user_id' => '', 'username' => '', 'status' => ''));

    if(!$keep_session)
        $this->ci->session->sess_destroy();
}

...并像这样使用它: $this->tankauth->logout(true);

于 2012-01-24T08:03:39.360 回答