Ну, я столкнулся с проблемой, которая усложняет мою жизнь. 🙁
Я пытаюсь отслеживать подробный поток пользователей на сайте (без установленной GA!).
Поэтому в основном мне нужна информация, когда я выбираю страницу ID35, мне нужно видеть пользователей, которые попали на эту страницу, каков их поток?
Таким образом, пользователь # 1 посетил страницу ID35 => ID страницы => ID страницы => слева
Пользователь # 2 посетил страницу ID35 => page83 => page124 => page1 => оставил
…
Таким образом, 1 пользователь может посетить 2 страницы, но также может посетить 50 страниц … Мне нужно отслеживать в точном порядке, как они были открыты.
Я пытался создать базу данных MySQL, чтобы отслеживать все, где я настроил, как это.
-Я БЫ
-ref_page (reff)
-страница
Но после некоторого тестирования он не давал нужного мне результата, потому что он портил … просто слишком много ветвлений (слишком много возможных вариаций) ..
Кто-нибудь решил эту проблему отслеживания потока пользователей на сайте?
Спасибо!
Одним из подходов будет использование $_SESSION
var для хранения потока пользователей … это потребует меньше памяти в БД … менее частые вставки в БД … и может значительно упростить управление.
База данных будет переработана для размещения:
Таблица: userflow
поле: Идентификатор пользователя
поле: идентификатор сессии
поле: 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).
Надеюсь это поможет!
Других решений пока нет …