Foros del Web » Programando para Internet » PHP »

Niveles De Usuarios Para Mi Web

Estas en el tema de Niveles De Usuarios Para Mi Web en el foro de PHP en Foros del Web. Buenas, bueno tengo un problema que quiero que los usuarios con el cierto rango que le asigne puedan ejecutar distintas funciones que solo se puedan ...
  #1 (permalink)  
Antiguo 17/08/2009, 19:58
Avatar de chulifo  
Fecha de Ingreso: abril-2009
Ubicación: perdido en codigos del PHP, pero aprendo rapido!
Mensajes: 524
Antigüedad: 15 años
Puntos: 18
Niveles De Usuarios Para Mi Web

Buenas, bueno tengo un problema que quiero que los usuarios con el cierto rango que le asigne puedan ejecutar distintas funciones que solo se puedan hacer sim se es admin.

bueno actualmente tengo 2 tablas
una para usuarios que pueden enviar noticias (entre otras opciones)
y la otra para los usuarios comunes.

quiero reducir eso! quiero que en una columna de la bd llamada "nivel" por ejemplo! esten escritos los niveles, siendo haci que la web lea si eres de nivel "escritor" te deje la opcion para enviar una noticia.

bueno y en si el problema es que quiero leer la columna del usuario si es escritor le digo "envie una noticia" s no lo es no le digo nada!


ayuda por favor
__________________
Solo soy un simple fanático que mata el tiempo de la mejor manera.
  #2 (permalink)  
Antiguo 17/08/2009, 20:14
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Niveles De Usuarios Para Mi Web

Pues básicamente ya tu mismo diste tu respuesta, la idea es que ya tengas la columna nivel, pues al realizar el login guardes en una variable de sesión el nivel del usuario, y así puedes comprobar en todo momento el nivel del usuario que esta logeado y presentarle las opciones correspondientes.

Saludos.
  #3 (permalink)  
Antiguo 18/08/2009, 06:15
Avatar de chulifo  
Fecha de Ingreso: abril-2009
Ubicación: perdido en codigos del PHP, pero aprendo rapido!
Mensajes: 524
Antigüedad: 15 años
Puntos: 18
Respuesta: Niveles De Usuarios Para Mi Web

Cita:
Iniciado por GatorV Ver Mensaje
Pues básicamente ya tu mismo diste tu respuesta, la idea es que ya tengas la columna nivel, pues al realizar el login guardes en una variable de sesión el nivel del usuario, y así puedes comprobar en todo momento el nivel del usuario que esta logeado y presentarle las opciones correspondientes.

Saludos.
pero ok tengo la idea pero lo que no se es como compara si es
escritor = escritor
admin = administra
normal = nada especial!

quiero saber es como comprovar
__________________
Solo soy un simple fanático que mata el tiempo de la mejor manera.
  #4 (permalink)  
Antiguo 18/08/2009, 06:42
Avatar de atoleon  
Fecha de Ingreso: marzo-2007
Mensajes: 156
Antigüedad: 17 años, 1 mes
Puntos: 1
Respuesta: Niveles De Usuarios Para Mi Web

Pues a mi se me ocurren dos maneras:
1.- creas en la tabla de usuarios un campo booleano llamado escritor. Si es true es escritor y si no pues no lo es
2.- Creas un campo nivel donde 1 sea usuario normal y 2 usuario de nivel escritor. luego comparas que es 2 y si lo es puede escrbir. La ventaja de esta es que puede crear distintos niveles de usuario en el futuro.
  #5 (permalink)  
Antiguo 18/08/2009, 09:05
 
Fecha de Ingreso: julio-2009
Ubicación: .mysql_error ( XD )
Mensajes: 554
Antigüedad: 14 años, 9 meses
Puntos: 13
Respuesta: Niveles De Usuarios Para Mi Web

jap, yo estaba buscando lo mismo :XD:
ahora tengo una duda, y es a raiz de lo que dice GatorV

en la variable $_SESSION yo estoy enviando el nombre de usuario, por lo cual quiero saber si es posible en esa misma variable enviar los datos de privilegios??

yo tengo la tabla usuario:
rut
nombre
apellido
privilegios (todos, algunos, nada)
  #6 (permalink)  
Antiguo 18/08/2009, 09:18
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: Niveles De Usuarios Para Mi Web

puedes crear varias variables de sesion en una sola sesion que puede contener informacion definida o valores de una BD
__________________
Quitenme la vida pero no la bebida.
  #7 (permalink)  
Antiguo 18/08/2009, 09:43
Avatar de chulifo  
Fecha de Ingreso: abril-2009
Ubicación: perdido en codigos del PHP, pero aprendo rapido!
Mensajes: 524
Antigüedad: 15 años
Puntos: 18
Respuesta: Niveles De Usuarios Para Mi Web

pero fíjense, por favor

ya como pueden ver tengo las ideas de como hacer ahora es:

Cita:
Como compruebo!!
escritor = escritor
admin = administra
normal = nada especia
o

Cita:
2.- Creas un campo nivel donde 1 sea usuario normal y 2 usuario de nivel escritor. luego comparas que es 2 y si lo es puede escrbir. La ventaja de esta es que puede crear distintos niveles de usuario en el futuro.
la duda ahora es como comprobar!
__________________
Solo soy un simple fanático que mata el tiempo de la mejor manera.
  #8 (permalink)  
Antiguo 18/08/2009, 09:52
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: Niveles De Usuarios Para Mi Web

se refieren en que a tu tabla de "usuarios" agregale un campo "nivel", este nivel puede contener 1 o 2 o 3 o lo que quieras.... ahora cuando logeas al usuario, guardas en una variable de sesion el nivel del usuario logeado =obviamente obtenido de un query=

Ahora, en la intranet o en la siguiente pagina que quieres ver comparas la sesion con algunos valores definidos. Osea si la variable sesion es 1 muestras tales botones , si la variable resulta 2 muestras otras cosas... y asi sucesivamente, no es nada del otro mundo.
__________________
Quitenme la vida pero no la bebida.
  #9 (permalink)  
Antiguo 18/08/2009, 09:59
Avatar de atoleon  
Fecha de Ingreso: marzo-2007
Mensajes: 156
Antigüedad: 17 años, 1 mes
Puntos: 1
Respuesta: Niveles De Usuarios Para Mi Web

Cuando el usuario se autentifique creas su variable de sesión más otra variable de sessión con nivel. Luego, donde corresponda, pones un if y compruebas que la variable de session nivel es igual a 2 (donde 2 es nivel para poder escribir).
Espero haberte ayudado.
  #10 (permalink)  
Antiguo 18/08/2009, 10:02
Avatar de chulifo  
Fecha de Ingreso: abril-2009
Ubicación: perdido en codigos del PHP, pero aprendo rapido!
Mensajes: 524
Antigüedad: 15 años
Puntos: 18
Respuesta: Niveles De Usuarios Para Mi Web

Cita:
Iniciado por cesarpunk Ver Mensaje
se refieren en que a tu tabla de "usuarios" agregale un campo "nivel", este nivel puede contener 1 o 2 o 3 o lo que quieras.... Ahora cuando logeas al usuario, guardas en una variable de sesion el nivel del usuario logeado =obviamente obtenido de un query=

ahora, en la intranet o en la siguiente pagina que quieres ver comparas la sesion con algunos valores definidos. Osea si la variable sesion es 1 muestras tales botones , si la variable resulta 2 muestras otras cosas... Y asi sucesivamente, no es nada del otro mundo.


ok ok

creo que no me e explicado bien

¿como comparo si en la COLUMNA dice "escritor" darle opcion de escribir una noticia?


muchas gracias espero no a ver incomodado con la letra
__________________
Solo soy un simple fanático que mata el tiempo de la mejor manera.
  #11 (permalink)  
Antiguo 18/08/2009, 10:08
Avatar de atoleon  
Fecha de Ingreso: marzo-2007
Mensajes: 156
Antigüedad: 17 años, 1 mes
Puntos: 1
Respuesta: Niveles De Usuarios Para Mi Web

Creo que el problema es que aún careces de conocimientos básicos para hacer lo que deseas. Olvídate de escritor, normal o lo que sea. tu pones un número que tu como programador sabes el significado que tiene. Tu en la columna nivel pones 1 o 2 dependiendo del nivel que tenga el usuario. 1 para normal y 2 para escritor. No tienes que comparar nada en la columna. La columna nivel sólo sirve para obtener la info del usuario.
Incluso si lo ves más fácil, en la columna nivel puedes escribir escritor, lector o lo que quieras y luego al obtener el nivel haces una comparación de strings.
De verdad que intento ayudarte pero no se como explicarlo más fácil
  #12 (permalink)  
Antiguo 18/08/2009, 10:29
Avatar de chulifo  
Fecha de Ingreso: abril-2009
Ubicación: perdido en codigos del PHP, pero aprendo rapido!
Mensajes: 524
Antigüedad: 15 años
Puntos: 18
Respuesta: Niveles De Usuarios Para Mi Web

Cita:
Iniciado por atoleon Ver Mensaje
Creo que el problema es que aún careces de conocimientos básicos para hacer lo que deseas. Olvídate de escritor, normal o lo que sea. tu pones un número que tu como programador sabes el significado que tiene. Tu en la columna nivel pones 1 o 2 dependiendo del nivel que tenga el usuario. 1 para normal y 2 para escritor. No tienes que comparar nada en la columna. La columna nivel sólo sirve para obtener la info del usuario.
Incluso si lo ves más fácil, en la columna nivel puedes escribir escritor, lector o lo que quieras y luego al obtener el nivel haces una comparación de strings.
De verdad que intento ayudarte pero no se como explicarlo más fácil
gracias



<!-- Disculpen Molestias Ocasionadas Nadie Me Entendió -->


__________________
Solo soy un simple fanático que mata el tiempo de la mejor manera.
  #13 (permalink)  
Antiguo 18/08/2009, 10:31
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Niveles De Usuarios Para Mi Web

Comparas con un if, ya te lo pusierón todos si lo quieres ver a nivel código:
Código PHP:
Ver original
  1. if ($nivel == 1) {
  2.       // le permites el acceso
  3. }
  4. if ($nivel == 2) {
  5.       // no le permites etc
  6. }

Saludos.
  #14 (permalink)  
Antiguo 18/08/2009, 10:35
Avatar de chulifo  
Fecha de Ingreso: abril-2009
Ubicación: perdido en codigos del PHP, pero aprendo rapido!
Mensajes: 524
Antigüedad: 15 años
Puntos: 18
Respuesta: Niveles De Usuarios Para Mi Web

Cita:
Iniciado por GatorV Ver Mensaje
Comparas con un if, ya te lo pusierón todos si lo quieres ver a nivel código:
Código PHP:
Ver original
  1. if ($nivel == 1) {
  2.       // le permites el acceso
  3. }
  4. if ($nivel == 2) {
  5.       // no le permites etc
  6. }

Saludos.
esoo, gracias tu si ayudas a uno.

PD: cuando te provoca.
__________________
Solo soy un simple fanático que mata el tiempo de la mejor manera.
  #15 (permalink)  
Antiguo 18/08/2009, 10:44
 
Fecha de Ingreso: julio-2009
Ubicación: .mysql_error ( XD )
Mensajes: 554
Antigüedad: 14 años, 9 meses
Puntos: 13
Respuesta: Niveles De Usuarios Para Mi Web

Cita:
Iniciado por atoleon Ver Mensaje
Creo que el problema es que aún careces de conocimientos básicos para hacer lo que deseas.


mira... para comparar debes usar "==" (dos veces igual)
y con un if haces la sentencia

como bien leiste anteriormente yo puse que tenia un problema similar, mi menu es una tabla con x opciones, donde hay opciones que quiero que solo vean los administradores, por lo cual yo lo resolvi de la siguiente manera:

en la creación de la sesión de usuario (login) hice:

$_SESSION['usuario'] = "$user";
$_SESSION['privilegios'] = $fila["privilegios"];


por ende, cuando abro mi página menu.php hago la validacion de usuario con la sesion iniciada

luego en mi menu antes del <td> con el campo que quiero ocultar hice esto:

Código PHP:
<?php
    
if ($_SESSION['privilegios'] == "Administrador")
    {
        
?> <td><a href="menuUsuarios.php">Admin</a></td> <?php
    
}
    else
    {
        
//acá estoy ocultando el campo
    
}
    
?>
podrás ver que mi <td> está dentro del if y cierro el if cuando termina el <td> para que no afecte al que viene

eso es todo...
como te dije la comparacion la haces con el ==

por último, si lo que tú quieres es que nosotros te demos el codigo que debes colocar, primero que todo debes poner parte del tuyo!

saludos!

PD: espero haber sido claro

Última edición por Twonex; 18/08/2009 a las 10:49 Razón: saque algunos datos del td para que se entienda mejor
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 09:44.