[英]PHP Track user flow
好吧,我遇到了一个让我的生活变得困难的问题。 :( 我正在尝试跟踪网站上的详细用户流(未安装 GA!)。
所以基本上我需要在选择页面 ID35 时获得信息,我需要查看登陆该页面的用户他们的流程是什么?
所以用户#1 访问了页面 ID35 => 页面 ID31 => 页面 ID84 => 左用户#2 访问了页面 ID35 => page83 => page124 => page1 => 左...
所以 1 个用户可以访问 2 个页面,但也可以访问 50 个页面......我需要按确切顺序跟踪它们是如何打开的。
我试图创建 MySQL 数据库来跟踪我这样设置的所有内容。
-ID
-ref_page (参考)
-页
但是经过一些测试后,它并没有产生我需要的结果,因为它搞砸了......只是分支太多(太多可能的变化)......
有没有人解决过跟踪网站上的用户流量的问题?
谢谢!
一种方法是使用$_SESSION
var 来存储用户流......这将需要更少的 DB 存储......不太频繁地插入 DB......并且可以大大简化管理。
该数据库将重新设计以适应:
表:用户流
字段: user_id
字段: session_id
字段: flowStr = VARCHAR(255)
在特定会话中跟踪来自特定用户的页面流的 PHP 脚本如下(请注意评论) :
文档: page_tracker.php
<?php
session_start();
//Initialize session pageflow array if not already set
if(!isset($_SESSION['pageflow'])){
$_SESSION['pageflow'] = [];
}
//We need to make sure not to store repeated requests for the same page, this is a waste of space and is of no value
if(!isset($_SESSION['cur_page_id']) || $_SESSION['cur_page_id'] != THIS_PAGE_ID){
//current page is different than the last... let's store it now
array_push($_SESSION['pageflow'], THIS_PAGE_ID);
$_SESSION['cur_page_id'] = THIS_PAGE_ID;
}
现在让我们测试(注意:需要设置CONST THIS_PAGE_ID
才能使其工作):
文档: sandbox.php
<a href="sandbox.php">Page 0</a>
<a href="sandbox_one.php">Page 1</a>
<?php
CONST THIS_PAGE_ID = 0;
require 'page_tracker.php';
$pageflowStr = implode(';', $_SESSION['pageflow']);
echo $pageflowStr;
?>
文档: sanbox_one.php
<a href="sandbox.php">Page 0</a>
<a href="sandbox_one.php">Page 1</a>
<?php
CONST THIS_PAGE_ID = 1;
require 'page_tracker.php';
$pageflowStr = implode(';', $_SESSION['pageflow']);
echo $pageflowStr;
?>
稍后,当您准备好...时,您可以将$pageflowStr
pageflowStr 的值存储在数据库( userflow.flowStr )中。
希望这可以帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.