vaya viejo mas o menos esta seria una manera rapida con la que yo lo implementaria, resulta que te lo he hecho de la manera mas facil que es en donde el padre del menu siempre se mira pero simplemente si no tenes el acceso necesario para ver los hijos del padre no ves ni jota.
vos podes tambien hacer que si muestre algunos de los hijos y que oculte otros a partir del nivel eso es algo simplemente de agregarle mas if pero suponete cuando hago un sistema para escritorio los padres siempre los dejo visibles en los menu solo que cuando no tenes el acceso necesario para accesar a ese menu se mira borroso y no lo podes accesar, de igual manera he intentado recreartelo con php y un script bien bonito que he usado con anterioridad de dynamic drive.
en lo que si no te he ayudado es en lo del manejo de sesion , supongo que eso ya lo tenes resuelto, he planteado la solucion como un caso en donde a mayor nivel del usuario (este numero tendrias que manejarlo con tus sesiones, podes guardar el dato del nivel de usuario en la base de datos) y luego llevarlo en la sesion y de esta manera creas el menu haciendo el llamado a la funcion con el numero de nivel de usuario.
no te lo he separado pero logicamente que lo que debes de hacer es guardar la funcion en un archivo de php el cual vas a llamar desde los demas scripts de php con require quizas seria lo mejor y en donde queras que aparezca el menu le pones crear_menu();
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Menu con niveles de usuario</title>
<link rel="stylesheet" type="text/css" href="chrometheme/chromestyle.css" />
<script type="text/javascript" src="chromejs/chrome.js">
/***********************************************
* Chrome CSS Drop Down Menu- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/
</script>
<?php
function crear_menu($nivel){
//el primero se creara para todos
echo '<div class="chromestyle" id="chromemenu">
<ul>
<li><a href="http://www.dynamicdrive.com">Home</a></li>
<li><a href="#" rel="dropmenu1">Resources</a></li>
<li><a href="#" rel="dropmenu2">News</a></li>
<li><a href="#" rel="dropmenu3">Search</a></li>
</ul>
</div>';
//se creara si el nivel es mayor que 1
if($nivel>=1){
echo '<!--1st drop down menu -->
<div id="dropmenu1" class="dropmenudiv">
<a href="http://www.dynamicdrive.com/">Dynamic Drive</a>
<a href="http://www.cssdrive.com">CSS Drive</a>
<a href="http://www.javascriptkit.com">JavaScript Kit</a>
<a href="http://www.codingforums.com">Coding Forums</a>
<a href="http://www.javascriptkit.com/jsref/">JavaScript Reference</a>
</div>';
}
//se creara si el nivel es mayor que 2
if($nivel>=2){
echo '<!--2nd drop down menu -->
<div id="dropmenu2" class="dropmenudiv" style="width: 150px;">
<a href="http://www.cnn.com/">CNN</a>
<a href="http://www.msnbc.com">MSNBC</a>
<a href="http://news.bbc.co.uk">BBC News</a>
</div>';
}
//se creara si el nivel es mayor que 3
if($nivel>=3){
echo '<!--3rd drop down menu -->
<div id="dropmenu3" class="dropmenudiv" style="width: 150px;">
<a href="http://www.google.com/">Google</a>
<a href="http://www.yahoo.com">Yahoo</a>
<a href="http://www.msn.com">MSN</a>
</div>';
}
echo '<script type="text/javascript">
cssdropdown.startchrome("chromemenu")
</script>';
}
?>
</head>
<?php
//Mostrar el menu para cualquiera de los 3 niveles.
//crear_menu(3);
crear_menu(2);
//crear_menu(1);
?>
<body>
</body>
</html>
p.d.
jeje casi se me olvida adjuntarte todo el codigo de javascript para la creacion del menu
Para cambiarle colores a la barra de menu te dejo aqui la direccion del menu
http://www.dynamicdrive.com/dynamicindex1/chrome/chromemenu.zip
en el css tenes que incluir otro para que cambie de color ahi bajate el zip y esta bien explicado.
p.d.2
por cierto aqui esta el link en donde hablan de como se utiliza el menu
http://www.dynamicdrive.com/dynamicindex1/chrome/index.htm , ahi podes ver todo lo referente a que este alineado a la derecha , a la izquierda o al centro , y el cambio de colores.