Perfil 1: Usuario: Sólo puede ver datos.
Perfil 2: Moderador: Puede ingresar y modificar datos.
Perfil 3: Administrador: Control total.
Luego de probar muchas formas y buscar por todo google no logro dar con mi error (seguro que es una tontera). El sistema es el siguiente.
1. Tengo una bd con una tabla "usuarios" y con los campos "id", "nombre", "password" y "perfil". En la bd tengo dos usuarios, uno marcado con perfil "1" y el otro marcado con "2".
2. Tengo un formulario simple donde el usuario ingresa su nombre y password.
3. El formulario redirige a "login.php" que funciona sin problemas.
Código PHP :
<?php session_start(); if(isset($SESSION)) header("Cache-control: private"); require_once("conexion.php"); $sql = "select * from usuarios where usuario = '". mysql_real_escape_string ($_POST['usuario'])."' and password = '".mysql_real_escape_string ($_POST['password'])."' limit 1"; $resultado = mysql_query($sql) or die (mysql_error()); $data = mysql_fetch_array($resultado); if($data==0) { header('Location: ../based/loginweb.php?error=si'); } else { header('Location: ../php/redir.php');} ?>
Si el usuario y password son correctos prosigue, de lo contrario lanza el mensaje de error de usuario o password. Entonces redirige a "redir.php" que pretendo que sea el encargado de redirigir según el perfil. El scrip "redir.php" es el siguiente:
Código PHP :
<?php session_start(); if(isset($SESSION)) header("Cache-control: private"); require_once("conexion.php"); $sql = "select * from usuarios where usuario and perfil"; $resultado = mysql_query($sql) or die (mysql_error()); $data = mysql_fetch_array($resultado); switch ($resultado) { case ($resultado = 1): header('Location: ../based/vista-user.php'); break; case ($resultado = 2): header('Location: ../based/vista-admin.php'); break; } ?>
El síntoma ambos usuarios son redirigidos a la vista de usuario. He probado varias formas de plantear el switch, he probado con if/else pero nada. Siempre me manda a la vista de usuario, que por el momento sólo es una hoja en blanco que dice "usuario".
Creo que quizás mi problema esté en las sesiones pero cada cosa que encuentro en la red es distinta y aunque he probado con cada una no logro hacer que esto funcione. Dejo constancia de que ambos scripts los he escrito yo analizándo otros que he encontrado porque lo que quiero es aprender, además así siempre sé qué significa cada cosa.
Espero vuestra ayuda y orientación para encontrar donde estoy metiendo la pata. De antemano, muchas gracias.