Salut,
bien sûr que tu peux, précisément avec des variables de session :
-1- Lors de la connexion, tu enregistres l'heure dans une variable de session;
-2- Lors de l'accès à une page, tu enregistres l'URI visitée dans une variable aussi, et cette variable doit être un tableau;
Exemple :
<?php
session_start();
/* Si la variable n'existe pas, on enregistre l'heure de l'entrée */
if(!isset($_SESSION['entree']))
{
$_SESSION['entree'] = date();
}
/* On enregistre la page visitée */
if(!isset($_SESSION['parcours']))
{
$_SESSION['parcours'] = array();
}
/* Ajout de la page dans l'historique de navigation */
$_SESSION['parcours'][] = $_SERVER['REQUEST_URI'];
//... suite du code de la page ...
?>
Et à partir de là, tu pourras en tous temps savoir quand est arrivé ton internaute, les pages visitées et dans quel ordre.
Reste éventuellement à savoir si tu veux conserver ces informations de façon permanente ou pas dans une base de données auquel cas tu peux ajouter un code qui va mettre à jour la table à chaque entrée. Il te faut alors une table comportant un certain nombre de colonnes :
- id de session (CHAR(64));
- heure début (DATETIME);
- pages visitées(TEXT);
Ça pourrait par exemple ressembler à ceci :
<?php
session_start();
/* Si la variable n'existe pas, on enregistre l'heure de l'entrée */
if(!isset($_SESSION['entree']))
{
$_SESSION['entree'] = date("Y-m-d H:i:s"); // On utilisera un format adapté à MySQL
/* Code enregistrer l'entrée de l'internaute */
$sql = "INSERT INTO `parcours_visiteurs` (`sessid`, `heuredebut`)".
"'". $_SESSION['SID'] ."', '". $_SESSION['entree'] ."'";
// suite du code pour accéder à MySQL ...
}
/* On enregistre la page visitée */
if(!isset($_SESSION['parcours']))
{
$_SESSION['parcours'] = array();
}
/* Ajout de la page dans l'historique de navigation */
$_SESSION['parcours'][] = $_SERVER['REQUEST_URI'];
/* Mise à jour dans la base */
$sql = "UPDATE `parcours_visiteurs` ".
"SET `inineraire` = '". serialize($_SESSION['parcours']) ."' ".
"WHERE `sessid` = '". $_SESSION['SID'] ."'"
// suite du code pour accéder à MySQL ...
//... suite du code de la page ...
?>
C'est succinct, mais par exemple, rien ne t'empêche d'avoir une colonne de plus dans cette table avec par exemple en clé étrangère l'identifiant du membre, ça te permettra de retracer l'historique des visites de cet internaute pour établir des statistiques, la fréquence de ses visites, les pages qu'il visite le plus souvent, celles qu'il ne regarde jamais, on pourrait même pousser plus loin avec d'autres données pour savoir combien il passe de temps sur chaque page, mais là, cette dernière info serait un peu faussé par la page de sortie : il est toujours problématique de savoir quand un internaute quite un site en fermant son navigateur sans se déconnecter.