一種方法是使用$_SESSION
var來存儲用戶流......這將需要較少的DB存儲空間......較少的頻繁插入數據庫......並且可以大大簡化管理。
該數據庫將被重新設計以適應:
表:userflow
字段: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
值存儲在數據庫中(userflow.flowStr)。
希望這會有所幫助!
像你這樣的聲音應該只存儲所有請求(包括用戶ID和日期時間),然後從日誌中選擇user_id =? – JimL
使用Google Analytics進行此操作。 –
您需要**嘗試自己編寫代碼**。在[**做更多的研究**之後](https://meta.stackoverflow.com/q/261592/1011527)如果你有問題**發佈你已經嘗試了**的**明確的解釋不工作**並提供[最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)。閱讀[如何問](http://stackoverflow.com/help/how-to-ask)一個很好的問題。請務必[參觀](http://stackoverflow.com/tour)並閱讀[this](https://meta.stackoverflow.com/q/347937/1011527)。 –