Nueva pregunta

Pregunta:

Fecha: 18-05-2016 13:16:51 (En Español)

¿Qué hacer para agregar más privilegios?[Resuelta]

Buen día
tengo dos codigos el de admin y el de usuario, que debo hacerle a mis archivos para tener mas privilegios
admin.php
<?php

session_start();

if(isset($_SESSION["usuario"])){

		if($_SESSION["privilegio"] == 1){



		}else{

			header("Location: user.php");	

		}

}else{

    header("Location: index.php");

}

?>


USER.PHP
<?php
session_start();
if(isset($_SESSION["usuario"])){
		if($_SESSION["privilegio"] == 0){

		}else{
			header("Location: admin.php");	
		}

}else{
    header("Location: index.php");
}
?>


El problema es que tengo 6 perfiles más que debo hacer ?
Etiquetas: $_SESSION - Permisos - PHP - PHP header - Pregunta - Privilegios - Sesión Votos: 2 - Respuestas: 4 - Vistas: 20 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 18-05-2016 18:09:18 No entiendo muy bien lo que quieres hacer, pero imagino que será mejor usar un switch en vez de tantos if / elseif, no?

    Por otro lado, tendrás que desarrollar la restricción en los archivos destino...

    Cuentanos un poco más.

    Saludos,
      Votos: 3 - Link respuesta
     
  • Fecha: 18-05-2016 18:19:08 olvidemos lo ultimo, tengo 6 perfiles, en ejemplo de la pregunta me funciona correctamente, pero si te fijas es solo para dos de esos perfiles, requiero exactamente lo mismo, pero para 6 perfiles, podrias ayudarme ?   Votos: 1 - Link respuesta
     
  • Fecha: 19-05-2016 13:20:46 Hola Bryan, lo que te propone Gustavo es la utilización de otra estructura de control que reemplaza al IF que se llama switch, en la doc oficial de PHP switch en ese link aprendes a pescar..

    Te dejo el ejemplo con switch, el pescado cocinado jejeje

    <?php
    session_start();
    $prevUser=$_SESSION["privilegio"]; // es un numero entero que representa al privilegio.
    
    switch($prevUser) {
    case 1: 
     header("Location: perfil1.php"); 
    break;
    case 2:
     header("Location: perfil2.php"); 
    break;
    case 3:
     header("Location: perfil3.php"); 
    break;
    case 4:
     header("Location: perfil4.php"); 
    break;
    case 5:
     header("Location: perfil5.php"); 
    break;
    case 6:
     header("Location: perfil6.php"); 
    break;
    // en caso que no sea ningun privilegio de los anteriores lo redirijo al index.php
    default:
     header("Location: index.php"); 
    }

    De esa manera puedes utilizar la cantidad de perfiles como lo desees.

    Te recomiendo que te tomes unos minutos en leer la doc oficial para entender el funcionamiento de SWITCH y luego comprenderás el codigo que he dejado de ejemplo.
    Aprender a pescar y luego comer el pescado ;)

    Cuéntanos si lo has resuelto

    Espero que te sea de ayuda.

    Saludos
      Votos: 2 - Link respuesta
     
  • Fecha: 20-05-2016 08:22:22 Hola Muchas gracias a todos, ese dia encontré otra forma de hacerlo,
    puse una página donde se elige el perfil que tiene el usuario , algo asi como una pagina intermedia, y en cada pagina de cada perfil utilizé el que ya tenia desde un principio.
      Votos: 1 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com