L'utilisation des cookies comme référentiel de la page de référence est bien meilleure dans la plupart des cas, car les cookies conserveront le référentiel jusqu'à la fermeture du navigateur (et le conserveront même si l'onglet du navigateur est fermé). Ainsi, si l'utilisateur a laissé la page ouverte, disons avant les week-ends, et qu'il y revient après quelques jours, votre session aura probablement expiré, mais les cookies seront toujours là.
Placez ce code au début d'une page (avant toute sortie html, car les cookies ne seront correctement définis qu'avant tout écho/impression) :
if(!isset($_COOKIE['origin_ref']))
{
setcookie('origin_ref', $_SERVER['HTTP_REFERER']);
}
Vous pourrez alors y accéder plus tard :
$var = $_COOKIE['origin_ref'];
En plus de ce que @pcp a suggéré à propos de l'échappement de $_SERVER['HTTP_REFERER'], lorsque vous utilisez un cookie, vous pouvez également vouloir échapper $_COOKIE['origin_ref'] à chaque requête.