繁体   English   中英

PHP 追踪用户流量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM