Foros del Web » Programando para Internet » PHP »

limitar el acceso a paginas con niveles

Estas en el tema de limitar el acceso a paginas con niveles en el foro de PHP en Foros del Web. que tal amigos , tengo un problema y necesito de su ayuda necesito limitar el acceso a paginas php por medio de usuario, contraseña y ...
  #1 (permalink)  
Antiguo 10/01/2011, 14:04
 
Fecha de Ingreso: octubre-2010
Mensajes: 233
Antigüedad: 13 años, 6 meses
Puntos: 3
limitar el acceso a paginas con niveles

que tal amigos , tengo un problema y necesito de su ayuda
necesito limitar el acceso a paginas php por medio de usuario, contraseña y niveles de usuario , ejemplo
<?php
session_start();

if ($_SESSION["usuario"] == 5 )// este es el numero que se le otorgo cuando se creo el usuario

{ //muestro el codigo}

else { // se envia a otra pagina}

?>
bueno , no me funciona tienen idea en que me estoy equivocando?
y para loguearse es esta funcion

public function iniciar_sesion(){
$consulta="select * from usuarios where nombre_usuario='".$_POST["nombre_usuario"]."' and clave='".$_POST["clave"]."'";
$result=mysql_query($consulta,Conectar::con());
if (mysql_num_rows($result)== 0)
{
echo "<script language='JavaScript' type='text/javascript'>
alert('El Usuario y el Password NO coinciden');
window.location.href='index.php';
</script>";
}
else
{
$_SESSION["caca"]=$_POST["nombre_usuario"] ;
echo "<script type='text/javascript'>
var ancho = ((screen.width) / 2) - 512 ;
var alto = ((screen.height) / 2) - 384;
window.open('inicio.php','','status=0,scrollbars=0 ,width=1024,height=768,top='+alto+',left='+ancho+' ,titlebar=0,menubar=0,hotkeys=0,toolbar=0,resizabl e=1,directories=0,location=0')
window.open('','_parent','');
window.close();
</script>";

}

}
Saludos y muchas gracias
  #2 (permalink)  
Antiguo 10/01/2011, 15:06
 
Fecha de Ingreso: junio-2009
Mensajes: 156
Antigüedad: 14 años, 11 meses
Puntos: 3
Respuesta: limitar el acceso a paginas con niveles

En la tabla usuario de la base de datos, le podes agregar la columna nivel_de_usuario, o como quieras llamarla, cuando logueas al usuario tambien obtenes en nivel de usuario que tiene (creas una session con este dato).
... y a partir de alli, dejas entrar al usuario o no a ciertas páginas segun el nivel que tenga o sea... cada vez que entra a una pagina chequeas la session del usuario y la session del nivel que tiene.
  #3 (permalink)  
Antiguo 10/01/2011, 15:15
Avatar de gusma62  
Fecha de Ingreso: julio-2008
Ubicación: Tepatitlán, Jalisco, Mexico
Mensajes: 167
Antigüedad: 15 años, 9 meses
Puntos: 6
Respuesta: limitar el acceso a paginas con niveles

darion, la idea la tienes, solo te hace falta organizarte más
  #4 (permalink)  
Antiguo 10/01/2011, 15:15
 
Fecha de Ingreso: octubre-2010
Mensajes: 233
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: limitar el acceso a paginas con niveles

hola como estas gracias por responder
ya tengo creado el campo que se llama nivel_de_usuario y cada usuario tiene un numero que va del 1 al 5 , pero no logro hacerlo funcionar cuando el usuario entra a una pagina ejemplo
cualquier numero de nivel que tenga el usuario , entra igual a la pagina
muchas gracias
  #5 (permalink)  
Antiguo 10/01/2011, 15:17
 
Fecha de Ingreso: octubre-2010
Mensajes: 233
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: limitar el acceso a paginas con niveles

hola gusma62 , hay algo que me falta y no se que es , el codigo lo vi un monton de veces y no logro dar con la solucion,
Saludos
  #6 (permalink)  
Antiguo 10/01/2011, 15:28
 
Fecha de Ingreso: junio-2009
Mensajes: 156
Antigüedad: 14 años, 11 meses
Puntos: 3
Respuesta: limitar el acceso a paginas con niveles

Y como haces esa validacion?

Le das a la pagina el nivel que tiene que tener?
Código PHP:
Ver original
  1. $nivel_de_esta_pagina = 5;
  2. if($_SESSION["nivel_usuario"] !== $nivel_de_esta_pagina){
  3. echo"ud no puede entrar a esta pagina";
  4. }
  5.  
  6. si el usuario puede entrar a un nivel igual o inferior, o sea un usuario nivel 4, puede entrar al 1,2 y 3... la comprobacion seria:
  7. if($_SESSION["nivel_usuario"] < $nivel_de_esta_pagina){
  8. echo"ud no puede entrar a esta pagina";
  9. }
  #7 (permalink)  
Antiguo 10/01/2011, 16:01
 
Fecha de Ingreso: octubre-2010
Mensajes: 233
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: limitar el acceso a paginas con niveles

aaaaahhh!!! ahora lo tengo mas claro , ahora lo pruebo
gracias
  #8 (permalink)  
Antiguo 10/01/2011, 16:32
 
Fecha de Ingreso: enero-2011
Ubicación: Distrito Federal
Mensajes: 1
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: limitar el acceso a paginas con niveles

Lo que yo veo es que estás haciendo referencia a una sesión que no existe:
$_SESSION["usuario"] == 5


Cuando la sesión real es:
$_SESSION["caca"]=$_POST["nombre_usuario"] ;
  #9 (permalink)  
Antiguo 10/01/2011, 16:36
 
Fecha de Ingreso: octubre-2010
Mensajes: 233
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: limitar el acceso a paginas con niveles

hola como estas , si ya sabia ahi me equivoque, quise modificar el "caca" para ponerlo aca pero me olvide de modificarlo tambien abajo , el original que tengo siempre es "caca"
saludos
Igual no lo pude hacer funcionar
  #10 (permalink)  
Antiguo 10/01/2011, 16:42
 
Fecha de Ingreso: octubre-2010
Mensajes: 233
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: limitar el acceso a paginas con niveles

aca tengo una pregunta si pongo nivel_de_usuario para iniciar sesion , en donde pongo esto
$_SESSION["caca"]=$_POST["nombre_usuario"] ;

$nivel_de_esta_pagina = 5;
if($_SESSION["ACA TENDRIA QUE PONER caca"] !== $nivel_de_esta_pagina){
echo"ud no puede entrar a esta pagina";
}

si el usuario puede entrar a un nivel igual o inferior, o sea un usuario nivel 4, puede entrar al 1,2 y 3... la comprobacion seria:
if($_SESSION["nivel_usuario"] < $nivel_de_esta_pagina){
echo"ud no puede entrar a esta pagina";
}
  #11 (permalink)  
Antiguo 26/01/2011, 08:59
Avatar de LOCOHUESOS2  
Fecha de Ingreso: noviembre-2003
Ubicación: Cali - Colombia
Mensajes: 248
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: limitar el acceso a paginas con niveles

ole espero te de una ayudita como me la dieron a mi mil veces jijijij

lo que tiene que hacer primero es una consulta a la db donde debe existir una tabla usuario con 4 campos id_user, usuario,nivel,clave esto como minimo para lo que quieres ahora

$sql_session=" select usuario,nivel from usuarios where usuario ='$variable_con_usuario'";
$return@mysql_query($sql_session, $variable_de_conexion_a_db);
$datos=@mysql_fetch_array($return);
if($return){
session_start();
$_SESSION['usuario']=$datos[0];
$_SESSION['nivel']=$datos[1];
header("Location pagina_privada.php");


//ahora en pagina privada verificas que usuario y nivel tengan acceso al sistema

<?php
session_start();
if($_SESSION['nivel']==1){ //aqui comprobamos si el usuario tiene nivel 1

}else{
header("Location: index.php?error=Usted no tiene acceso a esta area");
}

espero te sirva de algo

Saludos webcol.net
__________________
No creas que eres superior a mi sin antes ver mi trabajo webcol.net

Etiquetas: limitar
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 22:36.