Foros del Web » Programando para Internet » PHP »

Duda sobre nivel de usuario y menú.?!

Estas en el tema de Duda sobre nivel de usuario y menú.?! en el foro de PHP en Foros del Web. Hola, estoy realizando una aplicación web, para que los usuarios ingresen deben iniciar sesión, ahora bien, además de eso, existen niveles de usuario, son 4: ...
  #1 (permalink)  
Antiguo 19/01/2011, 09:05
 
Fecha de Ingreso: mayo-2009
Ubicación: Concepción
Mensajes: 27
Antigüedad: 15 años
Puntos: 0
Duda sobre nivel de usuario y menú.?!

Hola, estoy realizando una aplicación web, para que los usuarios ingresen deben iniciar sesión, ahora bien, además de eso, existen niveles de usuario, son 4:
Mantenedor,
Administrador,
Modificador y
Consultor.

Ya he encontrado varios tutoriales y aquí mismo, cómo poder hacer la autentificación de usuarios, y como redirigir a una u otra pagina dependiendo del nivel de usuario.
Mi duda es más básica creo yo y es como tengo que "armar" y conectar los archivos que creado, me explico:

El inicio de sesión para todos debe ser el mismo, introduce su usuario y contraseña, valida si son correctos, obtiene el nivel de usuario y con un "Header(Location:)" lo envío a la pagina que corresponde a su nivel. Ahora mi duda es con esto último, como tengo que "armar" dicha página? puesto que existe un menú, con links y en css, pero dependiendo del nivel de usuario, no todos "pueden ver" los mismos accesos, por ejemplo: (esto es para un inventario de máquinas)
Administrador puede: Buscar maquinaria , Ingresar maquinaria, Ingresar mantenciones, buscar mantenciones, ingresar traslados, buscar traslados.
Consultor puede: Buscar maquinaria, buscar mantenciones, buscar traslados.
y así el resto de los tipos de usuarios podrá ver otros links.

En un principio lo tengo así:

Código PHP:
<?php 
$Pagina 
$_GET[pagina];
?>

<?php include_once ("header.php"); ?> //Aqui se incluía el encabezado de la página que esta en ese archivo

<?php //aquí tomaba el nombre del "link" del menú y buscaba el archivo y lo abría.
if($Pagina == '') {$Pagina 'inicio';}
include (
''.$Pagina.'.php');
?>

<?php include_once ("administrador_menu.php"); ?> //aqui incluia el menu que se ve para el administrador
<?php include_once ("footer.php"); ?> //aqui incluia el pide de pagina
Ahora bien, cuando cargaba la pagina (el link) muestra un formulario,

Código PHP:
<h2>Buscar Maquina</h2>

<
form name=formulario action="PaginaDeResultadoBuscarMaquina" method="post">

//Aqui está el formulario.

<input type="Submit" value="Buscar">      
</
form
Este codigo se carga en la pagina anterior, y asi lo muestra bien, con el header, el menu y el footer.

Luego lo redirige a otro archivo donde muestra los resultados, (todo esto conectandose a la base de datos MySQL) ahora bien, cuando muestra esa otra pagina, lo hago asi, y no creo que este correcto para lo que quiero hacer.

Esta es la pagina "PaginaDeResultadoBuscarMaquina"
Código PHP:
<?php include_once ("header.php"); ?>

<?php codigo php para mostrar los resultados conectandose con la base de datos
?>

<?php include_once ("administrador_menu.php"); ?>
<?php 
include_once ("footer.php"); ?>
Entonces, mi duda es, cómo muestro esos distintos menús a los distintos niveles de usuario? cómo tengo que armar por ejemplo, la pagina de "administrador" o "consultor"?
Y además para mostrar el resultado, cargue su menú dependiendo el nivel de usuario. ya que como lo tengo en: "PaginaDeResultadoBuscarMaquina"
mostraría siempre el menu de "administrador", siendo que un "consultor" también puede acceder a ver esto y en el resultado la idea es que no le muestre el menu de administrador si no que el propio de consultor.
  #2 (permalink)  
Antiguo 19/01/2011, 09:24
Avatar de angelAparicio  
Fecha de Ingreso: julio-2009
Ubicación: Sevilla
Mensajes: 307
Antigüedad: 14 años, 9 meses
Puntos: 22
Respuesta: Duda sobre nivel de usuario y menú.?!

Hola, lo que tienes que hacer es, antes de hacer la redirección, meter en sesión el nivel de usuario y después comprobarlo a la hora de mostrar la web:

Código PHP:
if ( $usuario->loginCorrecto ) {
$_SESSION['nivel_usuario'] = $usuario->getNivelUsuario();
//rediriguir;

Esto a la hora de meter el usuario contraseña. Y después:


Código PHP:
if ( $_SESSION['nivel_usuario'] == 'administrador' ) {
 include_once (
"administrador_menu.php");
} else if ( 
$_SESSION['nivel_usuario'] == 'mantenedor' ) {
 include_once (
"mantenedor_menu.php");
}
... 
Se puede hacer un poco más limpio, pero esa es la idea.
__________________
Mis webs:
- Programador Web Autónomo
- Conciertos en Sevilla
  #3 (permalink)  
Antiguo 19/01/2011, 23:00
 
Fecha de Ingreso: mayo-2009
Ubicación: Concepción
Mensajes: 27
Antigüedad: 15 años
Puntos: 0
Respuesta: Duda sobre nivel de usuario y menú.?!

Muchas gracias, me sirvió y además repase lo de sessiones que no lo tenia bien claro.
Funcionando
  #4 (permalink)  
Antiguo 22/05/2011, 06:57
(Desactivado)
 
Fecha de Ingreso: septiembre-2010
Mensajes: 498
Antigüedad: 13 años, 7 meses
Puntos: 5
Respuesta: Duda sobre nivel de usuario y menú.?!

podrías colocar como logro ya que estoy queriendo hacerlo también lo mismo que lograrlo para mi web

Etiquetas: nivel, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:30.