如何获取数据,其中状态会话在joomla 2.5中结束?

时间:2013-05-08 04:50:46

标签: session joomla2.5 session-state virtuemart

您好我正在使用virtmart 2.0.14帮助开发的joomla 2.5.8商店中的废弃购物车模块。

现在我能够从joomla的会话表中找到一些相关数据,但我无法找到哪个阶段会话到期(例如,用户关闭浏览器或在结账的第1步退出或者用户退出或关闭结账或退出浏览器之前的浏览器。

所以,当他/她完全或关闭浏览器时,请帮助我或指导我获取用户状态。

2 个答案:

答案 0 :(得分:1)

无法使用会话数据查找用户是否关闭浏览器或未关闭浏览器。会话数据存储在您的服务器上,并将根据您的服务器会话过期设置到期。

如果您真的想知道用户浏览器关闭状态,您需要编写一些特殊的javascript函数来检测浏览器何时关闭,并调用服务器ajax请求以使会话或某些其他功能到期。

答案 1 :(得分:1)

你需要一些像这样的代码:

private static function unserializeSession($session_data) {
    try{
        $method = ini_get("session.serialize_handler");
        $dataArr = array();
        switch ($method) {
            case "php":
                $dataArr =  self::unserialize_php($session_data);
                break;
            case "php_binary":
                $dataArr = self::unserialize_phpbinary($session_data);
                break;
            default:

                $dataArr = false;
        }
        return $dataArr;
    }
    catch (Exception $e){

        return false;
    }
}

但是,你不应该费心去开发这样的模块。有许多第三方解决方案,例如RemarketyInteramind,可以为您解决此问题。

小心,