A mi nunca me paso eso, pero es interesante el dato. te dire como yo trabajo con las sesiones.
1. creo un archivo de control que verifica si el usuario ya esta autenticado. Una estructura básica de este archivo podria ser algo como:
control.inc Código PHP:
//-- Si no existe la variable de sesion 'autenticado' o la variable 'autenticado' no posee la cadena 'si', redireccionar a login.php
if ( !isset($_SESSION['autenticado']) || $_SESSION['autenticado'] != "si" ) {
header('location: login.php');
}
2. En cada pagina restringida realizo una llamada a dicho archivo. Podria ser:
pagina_restringida.php Código PHP:
require_once 'control.inc';
<html>
//-- contenido de la pagina
</html>
Por supuesto que al momento aceptar a un usuario como registrado, se crea la variable 'autenticado' y se le asigna la cadena 'si'
Código PHP:
$_SESSION['autenticado'] = 'si';
Prueba y cuentanos si te sirvio de algo :)