Hola, dispongo de un sistema de registro y login de usuarios y me gustaria hacer que haya diferentes niveles de usuarios, alguien podria ayudarme o decirme algun sitio donde expliquen como hacerlo?
Gracias.
| ||||
Respuesta: Niveles de usuarios (Ayuda) Yo lo que hago es crear una tabla de Grupos de usuarios (tal como hacen la mayoria de los foros), donde se asigna el titulo del nivel (grupo), asi como los permisos para cada uno. En tu tabla de usuarios agregas un campo para el ID del grupo al que pertenece y, lo demas, es cuestion de como programes para verificar nivel, permisos, etc. |
| ||||
Respuesta: Niveles de usuarios (Ayuda) Realmente depende de que tan complejo quieras hacer el sistema, si solo quieres tener administrador y usuarios normales para restringir el acceso a ciertas areas del sistema bastaria con agregar un camo para asignar el nivel. Campo: nivel Tipo: Tinyint (1) Valor por default: 0 Cada que el usuario vaya a ingresar a secciones restringidas verificas si el nivel es 1 para permitir o negar acceso. Aun si no tienes un esquema de permisos, pero quieres que otros usuarios puedan ingresar a secciones restringidas y realizar solo determinadas tareas este campo puede ser suficiente, donde 0=usuario normal, 1=administrador, 2=moderador.
Código php:
Ver original Nota: Tendras que hacer la validacion cada que vayas a realizar alguna tarea administrativa. |
| |||
Respuesta: Niveles de usuarios (Ayuda) Te explico mas o menos lo que hace Triby. primero, agregas un campo mas a tu tabla de usuarios (la llamamos id_nivel). segundo, creas una nueva tabla (tab_niveles), con los campos: id, nombre, permiso. despues pra mostrar el nivel de cada usuario haces asi:
Código PHP:
Ver original a eso le podes agregar mas funciones obviamente.. pero la base es esa... saludoss |
| ||||
Respuesta: Niveles de usuarios (Ayuda) Haber empezando, yo lo que quiero es bastante basico solo administrador y usuarios, he creado un campo llamado userlevel en la base de datos tipo tinyint (1) not null. Lo que no comprendo muy bien es como hago la comprobacion con la base de datos para que compruebe que nivel tiene el usuario. En la base de datos el usuario usa el nivel 0 y el administrador el nivel 9. |
| ||||
Respuesta: Niveles de usuarios (Ayuda) pues cuando se loguea t comparas el user y su password, entonces tambien puedes consultar que tipo de usuario tiene asignado el que se esta logueando y si es correcto el login pues crea una variable de sesion asignandole el numero de nivel de usuario y ya en las paginas de administrador checas su variable de sesion que contiene su tipo de usuario sea = a 9, uff espero puedas entender ![]() |
| ||||
![]() jejeje mira mi codigo del login en el select e insertao userlevel y abajo e hecho una $_SESSION que e insertado userleverl = a $nivel eso esta bien o toy volviendome loco? :P jajaja el codigo de mi comprueba.php es este: Código PHP: |
| ||||
Respuesta: Niveles de usuarios (Ayuda) Ok cambiado ahora el index.php al que redirige al logueado es este: Código PHP: |
| ||||
Respuesta: Niveles de usuarios (Ayuda) Un ejemplo de eso esta en un mensaje anterior, solo adapta las variables y listo. |
| ||||
Respuesta: Niveles de usuarios (Ayuda) no se muy bien como deberia de hacerlo, seria mas o menos una cosa asi o que?: Código PHP: |
| ||||
Respuesta: Niveles de usuarios (Ayuda) Hola ya lo he hecho funcionar pero ahora hay un nuevo problema, si entro con un usuario con permisos de administrador sale todo perfecto pero si entro con un usuario normal de nivel 0 sale directamente el mensaje del "else" no lo que indique yo dentro del if de nivel 0, a que es debido? en que fallo? el codigo de mi pagina index.php es el siguiente: Código PHP: |
| ||||
Respuesta: Niveles de usuarios (Ayuda)
Código php:
Ver original |
| ||||
![]() Lo siento pero sigue sin servir asi, mira lo e puesto asi: Código PHP: |
| ||||
Respuesta: Niveles de usuarios (Ayuda) El primer ejemplo que te puse fue solo una sugerencia, en el anterior lo puse tal como lo necesitas. Una pregunta: Si las opciones validas de nivel de usuario son 0 y 9, porque primero comparas si $nivel == 1? ... te esta sobrando ese if. |
| |||
Respuesta: Niveles de usuarios (Ayuda) te modifico el codigo, asi deberia funcionar:
Código PHP:
Ver original |
| ||||
Respuesta: Niveles de usuarios (Ayuda) Cita: La mayoria de las ocasiones tratamos de ayudar a que el usuario razone y pueda identificar la causa del error y, por tanto, el resultado mas importante no sera la solucion, sino que aprende a evitar que le pase nuevamente.
Iniciado por proger te modifico el codigo, asi deberia funcionar: Cita: Lamentablemente este codigo no es correcto, porque dara acceso a seccion administrativa a usuarios con nivel 0 y a usuarios con nivel 9.... solo hay esos dos niveles y nunca aparecera el mensaje 'solo usuarios registrados'.
Iniciado por proger if($nivel==0) { echo "Hola ".$login; // Aqui le das acceso al area restringida } elseif($nivel==9) { echo "Hola ".$login.", Eres Administrador"; // Aqui muestras opciones de administrador } else { echo "Solo usuarios registrados"; } |
| |||
Respuesta: Niveles de usuarios (Ayuda) Cita: esto es ayudar a razonar?
Iniciado por Triby ![]()
Código php:
Ver original en ningun lado del foro dice que no se pueden postear soluciones, yo lo unico que trate de hacer es AYUDAR, no ayudar a razonar, Cita: esta fue la pregunta de rompeguesos, y mi respuesta fue modificando el codigo que el mismo posteo.
Iniciado por rompeguesos Hola, dispongo de un sistema de registro y login de usuarios y me gustaria hacer que haya diferentes niveles de usuarios, alguien podria ayudarme o decirme algun sitio donde expliquen como hacerlo? Gracias. en cuanto al error del codigo tenes razon, me habia olvidado que solo habian dos opciones. |
| ||||
Respuesta: Niveles de usuarios (Ayuda) Cierto, en ninguna parte del foro dice que no puedes proporcionar una solucion, tampoco yo te digo que esta prohibido, solo sugiero ayudar a que vea cual es la posible solucion. Si te fijas, desde el principio estoy mostrandole cual podria ser el codigo, sin usar sus propias variables o estructura para que el lo adapte, puede resultar demasiado obvio, cierto, pero no se trata de hacer el trabajo por el. De lo ultimo, tienes razon, te pido disculpas, porque no lei que queria agregar mas niveles de usuario. |