Pues exactamente es casi lo que yo he hecho y total, solo el servidor puede controlar este tipo de situaciones, y no creo que relentice mucho la aplicación, por que ya lo he probado.
Primero, cuando el usuario ingresa en el sitio, comparo sus datos con la base de datos y recupero los privilegios que tiene, luego, en la variable de sesión guardo este dato, por ejemplo:
Código PHP:
Ver original
// Otras lineas de código
$_SESSION['privilegioUsuario'] = $datos['privilegio'];
Teniendo en cuenta que $datos es un array asociativo que obtuve usando la función mysql_fetch_assoc, después de haber hecho la consulta en la base de datos.
Y cuando cambio de página, solo vuelvo a utilizar la función "session_start()", para luego por medio de un if o un switch, cargar una variable llamada menú, algo así:
Código PHP:
Ver original
if (isset($_SESSION['privilegioUsuario'] )) { if ($_SESSION['privilegioUsuario'] === 1) {
$menu = array ('Bases de datos'=>'modificarBaseDatos.php', 'Administracion'=>'administracionDatos.php', 'Otra_pagina_solo_para_admins'=>'soloAdministradores.php', 'Perfil'=>'perfiles.php');
} else if ($_SESSION['privilegioUsuario'] === 2) {
$menu = array ('Administracion'=>'administracionDatos.php', 'Otra_pagina_solo_para_admins'=>'soloAdministradores.php', 'Perfil'=>'perfiles.php'); } else if ($_SESSION['privilegioUsuario'] === 3) {
$menu = array ('Perfil'=>'perfiles.php'); }
}
Y luego con un 'foreach', obtengo tanto la opción del menú como la dirección y los imprimo en en HTML y listo. Si alguien más puede complementar mi respuesta o corregir algo, se lo agradecería también.