Foros del Web » Programando para Internet » PHP »

PHP OO Sistema multiusuario y multimenu

Estas en el tema de Sistema multiusuario y multimenu en el foro de PHP en Foros del Web. Hola que tal... Soy un programador novato y se me ha presentado un gran reto, en mi trabajo solicitan una pagina web con un sistema ...
  #1 (permalink)  
Antiguo 04/02/2016, 07:36
Skorge
Invitado
 
Mensajes: n/a
Puntos:
Exclamación Sistema multiusuario y multimenu

Hola que tal... Soy un programador novato y se me ha presentado un gran reto, en mi trabajo solicitan una pagina web con un sistema de muchos menús para muchos usuarios, los menús en si no los tengo que crear serán dados por una base de datos, y cada usuario tendrá su propio menú, se lo agradecería a quien pueda ayudarme con este sistema por que como bien dije soy un programador novato y en mi trabajo solicitan algo asi, Muchas gracias por su atencion
  #2 (permalink)  
Antiguo 04/02/2016, 07:58
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 1 mes
Puntos: 69
Respuesta: Sistema multiusuario y multimenu

Y qué código tienes hasta ahora? Para poder ver cómo colaborarte.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #3 (permalink)  
Antiguo 04/02/2016, 08:04
Skorge
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema multiusuario y multimenu

Por le momento tengo el codigo de mostrar el menu deseado en una pagina php:
Ver.Php
<div align="center">
<table border="0" width="600" style="font-family: Verdana; font-size: 8pt" id="table1">
<tr>
</tr>
<form method="POST" action="php/Mostrar.php">
<tr>
<td width="50%">&nbsp;</td>
<td width="50%">&nbsp;</td>
</tr>
<tr>
<td width="50%">
<p align="center"><b>Digite el menu que desea ver: </b></td>
<td width="50%">
<p align="center"><input type="text" name="Descripcion" size="20"></td>
</tr>
<tr>
<td width="50%">&nbsp;</td>
<td width="50%">&nbsp;</td>
</tr>
<tr>
<td width="100%" colspan="2">
<p align="center">
<input type="submit" value="Ver" name="B1"></td>

Mostrar (El que deja ver los datos):
<table border = '4' align= 'center' width='40' BGCOLOR='#ffffff'>
<td width='150' style='font-weight: bold'>Id</td>
<td width='150' style='font-weight: bold'>Descripcion</td>
<td width='150' style='font-weight: bold'>Estado</td>
<td width='150' style='font-weight: bold'>Tipo</td>
<td width='150' style='font-weight: bold'>Menu_padre</td>
<td width='150' style='font-weight: bold'>URL</td>
<td width='150' style='font-weight: bold'>Usuario_creacion</td>
<td width='150' style='font-weight: bold'>Usuario modificacion</td>
<td width='150' style='font-weight: bold'>Fecha creacion</td>
<td width='150' style='font-weight: bold'>Fecha modificacion</td>
</body>
<?php
$conexion=mysql_connect("localhost","root","") or die ("la conexion al servidor no se ejecuto");
mysql_select_db("pagina") or die ("no se puede selecionar la base de datos");
$consulta="select* from menu"; // Esta linea hace la consulta
$result = mysql_query($consulta);
while ($registro = mysql_fetch_array($result)){
echo "
<tr>
<td width='100'>".$registro["Id"]."</td>
<td width='100'>".$registro["Descripcion"]."</td>
<td width='100'>".$registro["Estado"]."</td>
<td width='100'>".$registro["Tipo"]."</td>
<td width='100'>".$registro["Menu_padre"]."</td>
<td width='100'>".$registro["URL"]."</td>
<td width='100'>".$registro["Usuario_creacion"]."</td>
<td width='100'>".$registro["Usuario_modificacion"]."</td>
<td width='100'>".$registro["Fecha_creacion"]."</td>
<td width='100'>".$registro["Fecha_modificacion"]."</td>
</tr>
";
} Seria de muchisima ayuda gracias, Aunque si se requiere tambien puedo iniciar de 0 y de nuevo gracias por responder
  #4 (permalink)  
Antiguo 04/02/2016, 08:12
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 1 mes
Puntos: 69
Respuesta: Sistema multiusuario y multimenu

Lo que yo haría sería lo siguiente:
1. Determinar una clasificación de usuarios por niveles de acceso
2. De acuerdo al nivel serán los menús que se muestren
3. Almacenar en la tabla menú cada ítem que se va a mostrar indicando a qué tipo de usuario pertenece.
4. Hacer un select filtrando con where el tipo de usuario actual que inició sesión
5. Recorrer todos los registros devueltos e ir mostrando los menús en pantalla.

La tabla tiene muchos campos que no le veo utilidad, si explicas que almacena cada uno sería más fácil.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #5 (permalink)  
Antiguo 04/02/2016, 08:19
Skorge
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema multiusuario y multimenu

Sinceramente también veo que las tablas tienen campos que podrían llamarse "inútiles" Pero los menús no los debo crear yo sino ya están dados en una base de datos ... Un ejemplo de como es el sistema:

Usuario X: Acceso al Menu Contabilidad Campos que muestra este menu para este usuario 1, 2, 3, 4.
Usuario Y: Acceso al Menu contabilidad Campos que muestra este menu para este usuario 1,3,5,13.

Los campos que parecen que no son de mucha utilidad, son dados ya por una base de datos creada en Oracle... De paso no se si servirá pero el sistema se requiere que funcione como una especie de Oracle Forms Runtime

Algo asi es el sistema y con respecto a tu aporte muchas gracias.
  #6 (permalink)  
Antiguo 04/02/2016, 08:22
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 1 mes
Puntos: 69
Respuesta: Sistema multiusuario y multimenu

Y cómo determinas tu en la BD que el usuario X solo puede ver los items 1, 2, 3 y 4?
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #7 (permalink)  
Antiguo 04/02/2016, 08:24
Skorge
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema multiusuario y multimenu

Por otra tabla enlazada en la base de datos encargada de dar estos menús
  #8 (permalink)  
Antiguo 04/02/2016, 08:32
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 1 mes
Puntos: 69
Respuesta: Sistema multiusuario y multimenu

Y no sería más fácil colocar un campo en la tabla menús que se encargue de guardar el nivel de usuario y luego filtrar todos los registros de ese nivel? P ej:

Id -- nivel -- menu -- url
1 -- 1 -- Menu1 -- pagina1.php
2 -- 1 -- menu2 -- pagina2.php
3 -- 2 -- menu1 -- pagina3.php
4 -- 2 -- menu2 -- pagina4.php

Si digamos hay dos tipos de usuario cuando el tipo 1 se conecte haces un selec colocando en el where que filtre los que tengan nivel = 1 y así muestras unicamente los dos primeros registros en el menú.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #9 (permalink)  
Antiguo 04/02/2016, 08:36
Skorge
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema multiusuario y multimenu

Gracias por tu aporte, la verdad no lo había pensado así lo pondré en practica y te comentare que pasa, oye y otra pregunta y sonara muy novatada pero .. Como puedo que el usuario digite X menu y me direcciones a la pagina de este menú y no a la vista de las tablas, En verdad muchas gracias por tu colaboración.
  #10 (permalink)  
Antiguo 04/02/2016, 08:43
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 1 mes
Puntos: 69
Respuesta: Sistema multiusuario y multimenu

Ese es otro problema que tienes que lo que haces es mostrar en una tabla todos los datos arrojados por la bd y así no es, lo que debes hacer es crear links con la etiqueta <a de html p ej:

echo "<a href='". $url."'>".$nombre."</a>";

Es solo un ejemplo.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #11 (permalink)  
Antiguo 04/02/2016, 08:56
Skorge
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema multiusuario y multimenu

Osea que eso seria como un
<a href="url">".$Sistemas."</a>
<a href="url">".$Contabilidad."</a>
<a href="url">".$Ventas."</a>
Y no como una especie de buscador??
  #12 (permalink)  
Antiguo 04/02/2016, 09:03
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 1 mes
Puntos: 69
Respuesta: Sistema multiusuario y multimenu

Pues sería la mejor forma de mostrar los submenús, pero debes usar css para que al pasar el mouse sobre un menú principal se muestren los submenús.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #13 (permalink)  
Antiguo 04/02/2016, 09:09
Skorge
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema multiusuario y multimenu

Osea que aqui yo escogeria si es un tipo de submenu Scrolling, entre los otros?
  #14 (permalink)  
Antiguo 04/02/2016, 09:18
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 1 mes
Puntos: 69
Respuesta: Sistema multiusuario y multimenu

Si, tal cual, tendrías un menú principal y los submenús los cargas desde la BD según el usuario conectado en ese momento.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #15 (permalink)  
Antiguo 04/02/2016, 10:09
Skorge
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema multiusuario y multimenu

Bien, lo de los permisos por usuario ya esta entendido, y lo de los filtros por menú, solo hace falta ponerlos en practica pero ahora surge otra duda, también se requiere que el sistema tenga el menú dinámico es decir, si una opción es obsoleta o se requiere agregar una nueva opción, un usuario con ese permiso pueda agregar o quitar la opción sin tener que interactuar con el código.
  #16 (permalink)  
Antiguo 04/02/2016, 10:22
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 1 mes
Puntos: 69
Respuesta: Sistema multiusuario y multimenu

Puedes hacer una especie de página de administración en la que detecte si el usuario conectado es un administrador y a través de un formulario le permitas ingresar nuevos submenús o editar los existentes o eliminar alguno si es necesario.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #17 (permalink)  
Antiguo 04/02/2016, 10:23
Skorge
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema multiusuario y multimenu

Osea que eso seria como una especie de CRUD pero dirigido asi los menus?

Etiquetas: multiusuario, sistema, 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 02:10.