Login administrador y usuario
Con un condicional programado con PHP y MySql, realizamos llamadas a dos bases de datos: "admin", para administradores y "user", para usuarios.
Partimos de la base que ambos perfiles ya han realizado el alta en sus respectivos roles, y una vez que realicen el login, serán redireccionados a donde corresponda.
En este caso real, el perfil "admin" es redireccionado al back. "header('location:perfil.php');" donde puede ver y gestionar los datos de una encuesta, al que es redireccionado el perfil "user", "header('location:encuesta.php');". En ambos casos, el login se realiza solo con el mail y este se usa para controlar que dicho dato se encuentra ya en la base de datos.
Código PHP MySql:
session_start(); $mng=""; $csserror=""; if(isset($_SESSION["id_usuario"])){ header("location:perfil.php"); }else{ if($_POST){ include './inc/conexion.php'; extract($_REQUEST); $sql="SELECT * FROM admin WHERE email='$email'"; $result= mysqli_query($conexion, $sql); $nfilas= mysqli_num_rows($result); if($nfilas>0){ $fila= mysqli_fetch_array($result); $_SESSION["id_usuario"]=$fila["id"]; header('location:perfil.php'); }else{ $mng="Email incorrecto"; $csserror=0; }if($_POST){ include './inc/conexion.php'; extract($_REQUEST); $sql="SELECT * FROM user WHERE email='$email'"; $result= mysqli_query($conexion, $sql); $nfilas= mysqli_num_rows($result); if($nfilas>0){ $fila= mysqli_fetch_array($result); $_SESSION["id_usuario"]=$fila["id"]; header('location:encuesta.php'); }else{ $mng="Email incorrecto"; $csserror=0; } } } } ?>
HTML mensaje:
<span class="mng_<?=$csserror?>"><?=$mng?> </span>
CSS mensaje:
span[class^="mng_"]{ position: fixed; bottom: 0; width: 100%; text-align: center; padding: 10px; color: #FFECEC; z-index: 900; font-size: 1em; color: #fff; } .mng_0{ background-color: #D32F2F; } .mng_1{ background-color: #66BB6A; }
Mariano J.