1

嗨,我正在开发 joomla 2.5.8 商店中的废弃购物车模块,这是我在 2.0.14 的帮助下开发的。

现在我可以从 joomla 的会话表中找到一些相关数据,但我无法找到会话在哪个阶段过期(例如,用户关闭浏览器或在结帐的第一步退出,或者用户在结帐前退出或关闭浏览器过程)我的意思是关闭或退出浏览器时的用户状态。

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

4

2 回答 2

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;
    }
}

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

小心,

于 2013-05-28T07:30:01.267 回答
1

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

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

于 2013-05-24T20:30:28.623 回答