跟踪录入和使用PHP会话退出页面

时间:2014-05-18 20:24:58

标签: php arrays session session-variables

我目前有以下代码(到目前为止我可以告诉它)

session_start();

if(!is_array($_SESSION['page'])) {
 $_SESSION['page']=array();
}

$_SESSION['page'][]=$_SERVER['REQUEST_URI'];

$entry=reset($_SESSION['page']);

$exit=end($_SESSION['page']);

这是使用PHP完成入口和出口页面跟踪的最佳方法吗?

编辑:

这(来自@ T0xicCode)似乎是一个更好的选择:

session_start();

if(!is_array($_SESSION['page'])) {
  $_SESSION['page'] = array('entry' => $_SERVER['REQUEST_URI']);
}

$_SESSION['page']['exit'] = $_SERVER['REQUEST_URI'];

$entry = $_SESSION['page']['entry'];

$exit = $_SESSION['page']['exit'];

1 个答案:

答案 0 :(得分:0)

我建议使用google analytics这样的东西,但是如果你想要一个DIY,纯PHP解决方案,那么下面的东西应该可行。它不会跟踪原始解决方案中间的页面。

session_start();

if(!in_array('page', $_SESSION) || !is_array($_SESSION['page'])) {
  $_SESSION['page'] = array('entry' => $_SERVER['REQUEST_URI']);
}

$_SESSION['page']['exit'] = $_SERVER['REQUEST_URI'];

$entry = $_SESSION['page']['entry'];

$exit = $_SESSION['page']['exit'];

您还必须确定清除旧会话的频率。如果我在2周后回来,它是一个新的浏览会话,还是旧的继续?