Ver Mensaje Individual
  #10 (permalink)  
Antiguo 14/06/2011, 11:21
goransh_pc
 
Fecha de Ingreso: junio-2011
Mensajes: 80
Antigüedad: 12 años, 10 meses
Puntos: 8
Respuesta: grupos de usuarios

O sea, que en tu pagina de editar para continuar con el mismo ejemplo comenzaria tu script por buscar el nivel de acceso del usuario.

Un query a tu base de datos y chequeas el valor de la suma total.

resultado: 18.

entonces seguiras en el script de tu pagina por verificar que valor te dio el nivel de acceso?? rectificame si estoy equivocado en mis pasos.

Código PHP:
// Resultado del query. Suponiendo que sea 18
$access=$result['access']; 
Aqui es donde tengo la duda. Como chequeo este valor. Como se cuales son los valores que debo restarle (el numero mayor mas cercano)???

Código PHP:
if ($access <= 3)
  echo 
"No tiene permiso de editar";

if (
$access <= && $access >= 4){
   echo 
"Si tiene permiso";

if (
$access == 8)
  echo 
"No tiene permiso para editar.";

if (
$access <= 15 && $access >= ){
   
$access -= 8;
   if (
$access >=4){
       
$access -= 4;
       echo 
"Tiene permiso de editar";
   }
   else {
      echo 
"No tiene permiso de editar.";
   }
}

// Aqui entraria el valor 18.
if ($access <= 31 && $access >= 16){
    
$access -= 16// quedaria valor 2.
    
if ($access >= 8){ // no aplica
        
$access -= 8;
    }
    if (
$access >= 4){ // no aplica
        
$access -= 4;
        echo 
"Si tiene permiso para editar.";
    }
    if (
$access <= 3){ // Seria este el resultado.
       
echo "no tiene permiso para editar.";
    }


Asi estaria bien hecho o existe otra forma menos complicada ????

Creo que es mucho trabajo para chequear de esta forma.

Que tal si identificas a cada usuario con una letra.

Ejemplo:

View - a
ADD - b
EDIT - c
CREATE - d
ADMIN - e

Base de Datos

user_id | nivel_acceso
-----------------------------
1 | abc
2 | e
3 | bd


y en tu pagina Edit.php para los usuarios que tengan permiso de editar. ("c").

Código PHP:
//query a la DB al user_id 3, result bd
$access $result['nivel_acceso'];

// Chaquear que tenga acces a editar valor "C"
if(!strstr($access"c"))
   echo 
"Acceso Denegado, Tu Usuario no tiene permiso para editar."// Para el Usuario 3.
else
   echo 
"Usuario con permiso para editar."

No quedaria mas corto y mas simple de chequear de esta forma que de la otra ???

Solo trato de encontrar la forma mas comoda y eficiente.

Última edición por goransh_pc; 14/06/2011 a las 11:50