嗨,我正在开发 joomla 2.5.8 商店中的废弃购物车模块,这是我在 2.0.14 的帮助下开发的。
现在我可以从 joomla 的会话表中找到一些相关数据,但我无法找到会话在哪个阶段过期(例如,用户关闭浏览器或在结帐的第一步退出,或者用户在结帐前退出或关闭浏览器过程)我的意思是关闭或退出浏览器时的用户状态。
所以请帮助我或指导我在他/她完全或关闭浏览器时获取用户状态。
嗨,我正在开发 joomla 2.5.8 商店中的废弃购物车模块,这是我在 2.0.14 的帮助下开发的。
现在我可以从 joomla 的会话表中找到一些相关数据,但我无法找到会话在哪个阶段过期(例如,用户关闭浏览器或在结帐的第一步退出,或者用户在结帐前退出或关闭浏览器过程)我的意思是关闭或退出浏览器时的用户状态。
所以请帮助我或指导我在他/她完全或关闭浏览器时获取用户状态。
你需要一些代码来做这样的事情:
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 方解决方案,例如Remarkety或Interamind,可以为您解决这个问题。
小心,
您无法使用会话数据找到用户是否关闭浏览器。会话数据存储在您的服务器上,并将根据您的服务器会话过期设置过期。
如果你真的想知道用户浏览器的关闭状态,你需要编写一些特殊的javascript函数来检测浏览器何时关闭,并调用服务器一个ajax请求来使会话过期或其他一些函数。