Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/11/2012, 05:49
jjeshuacm1
 
Fecha de Ingreso: septiembre-2012
Mensajes: 73
Antigüedad: 12 años, 4 meses
Puntos: 0
Pregunta negar y conceder acceso a pagina dependiendo del nivel de usuario

hola a todos, resulta que tengo una pagina la cual tiene un modulo de inicio de sección .ya consigo que dependiendo del nivel me envie a su pagina respectiva. son tres niveles (administrador, supervisor, estudiante). el problema ahora surge, es por ejemplo si inicio secion como estudiante entra a su pagina, pero si coloco en la barra de navegador. administrador.php me entra a esa pagina de todos modos. le agradezco de antemano quien me pueda ayudar.

aqui les envio el codigo
a lo ultimo de este codigo esta la funcion de validar usuario q supongo ahi es donde tengo q hacer la condicion , estaba intentando como esta pero no hace nada

Código PHP:

<?php

//funcion para conectar a la base de datos y verificar la existencia del usuario
function conexiones($nombre$contrasena) {
    
//conexion con el servidor de base de datos MySQL
    
$conectar mysql_connect('localhost','root','');
    
//seleccionar la base de datos para trabajar
    
mysql_select_db('bd_ateneo',$conectar);
    
//sentencia sql para consultar el nombre del usuario
    
$sql "SELECT * FROM `bd_ateneo`.`usuarios` WHERE `nombre`='$nombre' AND `contrasena`='$contrasena'";
    
//ejecucion de la sentencia anterior
    
$ejecutar_sql=mysql_query($sql,$conectar);
if(
mysql_num_rows($ejecutar_sql)>0){
        
$fila=mysql_fetch_array($ejecutar_sql);    
    }






         

    
//si existe inicia una sesion y guarda el nombre del usuario
    
if (mysql_num_rows($ejecutar_sql)!=0){
        
//inicio de sesion
        
session_start();
        
//configurar un elemento usuario dentro del arreglo global $_SESSION
        
$_SESSION['nombre']=$nombre;
        
$_SESSION['nivel']=$nivel;
        
//retornar verdadero
        
        



        
    
if ($fila["nivel"]=="Administrador"){
             
header('Location:../Administrador.php');
        } else if (
$fila["nivel"]=="supervisor"){
           
header('Location:../supervisor.php');
        } else if (
$fila["nivel"]=="estudiante"){
             
header('Location:../estudiante.php');
        }
} else { 
header('Location:../inicio.html');

}  
//funcion para verificar que dentro del arreglo global $_SESSION existe el nombre del usuario
function verificar_usuario_a(){
    
//continuar una sesion iniciada
    
session_start();
    
//comprobar la existencia del usuario
    
if ($_SESSION['nombre'] && $_SESSION["nivel"] == "Administrador"){
        
        return 
true;
    }
    else if (
$_SESSION["nivel"] != "Administrador"){
        
        return 
false;}
    
    
//if($_SESSION["nivel"] !== "Administrador"){
//echo"ud no puede entrar a esta pagina";
//}
    
    
    
}


//funcion verificar usuario estudiante
function verificar_usuario_e(){
    
//continuar una sesion iniciada
    
session_start();
    
//comprobar la existencia del usuario
    
if ($_SESSION['nombre'] && $_SESSION["nivel"] == "estudiante"){
        return 
true;
    }
    
    
    
    
    
}



//funcion verificar usuario supervisor

function verificar_usuario_s(){
    
//continuar una sesion iniciada
    
session_start();
    
//comprobar la existencia del usuario
    
if ($_SESSION['nombre']){
        return 
true;
    }
    
    

    
}


?>


este es el codigo de salir.php

Código PHP:
<?php
include ('funciones.php');
if (
verificar_usuario_a()){
    
//si el usuario es verificado, se elimina los valores,se destruye la sesion y volvemos al formulario de ingreso
    
session_unset();
    
session_destroy();
    
header ('Location:../inicio.html');
} else {
    
//si el usuario no es verificado vuelve al formulario de ingreso
    
header ('Location:../inicio.html');
}



if (
verificar_usuario_e()){
    
//si el usuario es verificado, se elimina los valores,se destruye la sesion y volvemos al formulario de ingreso
    
session_unset();
    
session_destroy();
    
header ('Location:../inicio.html');
} else {
    
//si el usuario no es verificado vuelve al formulario de ingreso
    
header ('Location:../inicio.html');
}



if (
verificar_usuario_s()){
    
//si el usuario es verificado, se elimina los valores,se destruye la sesion y volvemos al formulario de ingreso
    
session_unset();
    
session_destroy();
    
header ('Location:../inicio.html');
} else {
    
//si el usuario no es verificado vuelve al formulario de ingreso
    
header ('Location:../inicio.html');
}

?>

y dentro de las paginas solo tengo esto

Código PHP:
<?php
include ('php/funciones.php');
//uso de la funcion verificar_usuario()
if (verificar_usuario_a()){
    
    
} else {
    
//si el usuario no es verificado volvera al formulario de ingreso
    
header('Location:inicio.html');
}
?>