none
Validar Permisos Login PHP RRS feed

  • Pregunta

  • Buen dia para todos

    Espero alguien me pueda orientar.

    Tengo una Base de Datos llamada CXN y la tabla CXN_Login con campos Log_Usuario (varchar 50), Log_Clave (varchar 50), Log_Medico (varchar 50), Log_Recepcion (char 1)

    La primera pagina es index.php aqui coloco el usuario y clave llamados user y pass respectivamente.

    Al colocar usuario y clave correctos me lleva a la pagina validar_login.php, en esta pagina hago que se valide si el usuario logueado esta o no habilitado, en caso de que no este habilitado me arrojaun mensaje respectivo y en caso que si este habilitado me lleva a la pagina principal.php. Este es el codigo

    <style>
    .titulo {
        font-family: Verdana,Geneva,sans-serif;
        font-size:30px;
        color : #F70053;
        text-align : center;
        }
    </style>
     
    <?php
    session_start();
    extract ($_REQUEST);
    require "CXN_BD.php";
    $User = $_REQUEST['User'];
    $Pass = $_REQUEST['Pass'];
    $objConexion=Conectarse();
     
    $sql="select * from CXN_LOGIN where Log_Usuario = '$User' and Log_Clave = '$Pass' and Log_Habilitado = 'A'";
    $resultado=$objConexion->query($sql);
    $existe = $resultado->num_rows;
     
    if ($existe==1)
    {
    	$usuario=$resultado->fetch_object();
    	$_SESSION['User']= $usuario->Log_Usuario;
    	header("location: CXN_PRINCIPAL.php");
    }
    else
    {
    $titulo = "El usuario o contraseña son incorrectos o ha sido desautorizado por el administrador";
    echo "<center>";
      echo "<span class=\"titulo\">".$titulo."</span>";
    echo "</center>";
    }
     
    ?>


    Hasta aqui todo bien:

    la pagina principal.php carga otro php que se llama menu.php y este trae el menu de opciones para los usuarios:

    <?php
    session_start();
    extract ($_REQUEST);
    if (!isset($_SESSION['User']))
      header("CXN_INDEX.php?x=2");
    ?>
     
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
     
    <head>
     
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Menu Principal</title>
    <script src="menu.js"> </script>
     
     
    <link rel="stylesheet" type="text/css" href="estiloMenu.css" >
    <link href="estilo.css" rel="stylesheet">
     
    </head>
    <body>
     
    <div class="borde_blanco" >
                <div class="logo_zamenis">
                  <img id="logo" src="images/logotipo.png" alt="">
                </div>
     
                <div class="logo_zamenis">
                  <img id="fondo" src="images/salud.png" alt="">
                </div>
             </div>
     
    <br><br><br><br>
     
    <center><form name="Form_Menu" id="formulario">
    <div id="divContenedor">
     
    	<div id="divMenu"> <?php include "CXN_MENU.php"?> </div>
    

    En el menu, hay varios li y estos tienen mas li. El inconveniente empieza aqui, al ingresar como medico por ejemplo y al hacer clic en el li Recepcion me lleva a otro php llamado permisos.php y este debe filtrar el nombre del usuario logueado y verificar el campo Log_Recepcion de la tabla mensionada. El problema es que nose como llevar la variable del usuario logueado a este php para filtrar esa variable, estoy haciendolo algo asi pero no funciona

    <style>
    .titulo {
        font-family: Arial,Geneva,sans-serif;
        font-size:20px;
        color : #CD5C5C;
        text-align : center;
        }
    </style>
     
    <?php
    $mysqli = new mysqli('127.0.0.1', 'root','', 'CXN');
     
    $resultado = $mysqli->query("SELECT * FROM CXN_LOGIN WHERE Log_Usuario = '$User'"); // Aqui me carca error porque no existe la variable
     
    if($rows=mysqli_fetch_array($resultado, MYSQLI_ASSOC))
    {
     
    $Recepcion = $rows["Log_Rol_Recepcion"];
     
    if($Recepcion != "A")
    {
    echo "El usuario No tiene permisos de Recepcion";
    }
    else
    {
    echo "El usuario SI tiene permisos de Recepcion";;
    }
     
    }
     
    else
     
    {
    $titulo = "El usuario tiene inconvenientes en los permisos o no existe";
    echo "<center>";
      echo "<span class=\"titulo\">".$titulo."</span>";
    echo "</center>";
    }
     
    ?>
    

    Nesesito filtrar el usuario logueado para saber si Log_Recepcion esta habilitado o no.

    Gracias

    sábado, 18 de mayo de 2019 21:54

Todas las respuestas

  • Pero para logear ya habías llamado a la base de datos, por que no creas una variable de sesión adicional donde guardes el valor de log_recepcion y la misma la puedes usar en cualquier parte de la web
    • Editado Josse Pablo jueves, 5 de septiembre de 2019 16:26
    jueves, 5 de septiembre de 2019 16:25