¿Pasando variables de PHP a un archivo incluido?

Esto debería funcionar, así que estoy realmente perplejo acerca de por qué no funciona.

Estoy comprobando si un usuario ha iniciado sesión con un método de clase de $ sesión en la parte superior de cada página de administración. Sin embargo, quiero ajustar dinámicamente el archivo de encabezado dependiendo de si un usuario ha iniciado sesión y de qué nivel de rol tiene ese usuario.

Así que reviso$session->is_logged_in() Y luego seguí adelante y definí una variable llamada$logged = true; para utilizar más tarde. Entonces uso un$user->find_by_id($session->id) Método para crear un nuevo objeto de usuario y almacenar$user->role_level en una nueva var llamada$role_level para facilitar su uso.

Todo esto está sucediendo cerca de la parte superior de la página. Más abajo en la página, después del procesamiento de formularios, etc., está elinclude("../_layouts/header.php") mando. Luego, en el archivo header.php, uso pequeños cheques comoif(!$logged) { ... } else { ... }. Sin embargo...

Estoy recibiendo los siguientes errores:

Notice: Undefined variable: logged in /home/hips/html/_layouts/header.php on line 119
Notice: Undefined variable: logged in /home/hips/html/_layouts/header.php on line 131
Notice: Undefined variable: logged in /home/hips/html/_layouts/header.php on line 138

¿Cómo puede ser esto? Estoy definiendo las vars en el archivo antes de incluir header.php! ¿No debería funcionar?

Para tu información, todo funcionaba bien hasta que intenté usar$logged en el archivo header.php.

Respuestas a la pregunta(4)

Su respuesta a la pregunta