Código PHP:
<?php
ob_start();
session_start();
include_once("conexion.php");
$conn = conexion();
if ( !empty($_POST['nombre_usuario']) && !empty($_POST['pass']) )
{//abro llave de if nombre_usuario y pass distinto a vacio
if($conn)
{//abro llave de if conectado a la bd correctamente
$auten_usuario= "SELECT * FROM usuarios WHERE nombre_usuario ='".$_POST['nombre_usuario']."'";
$resultado= pg_exec($conn,$auten_usuario);
echo $_POST['nombre_usuario'];//imprimo session nombre_usuario a ver si capta el valor introducido por el usuario
if (pg_fetch_array($resultado) )
{//abro llave de if q trae resultado de la consulta por nombre de usuario de la bd
$auten_clave= "SELECT * FROM usuarios WHERE pass='".$_POST['pass']."'";//realizo consulta a la bd para comprobar pass
echo $_POST['pass'];//imprimo session pass para ver si captura valor introducido por el usuario
$resClave= pg_exec($conn,$auten_clave);
if (pg_fetch_array($resClave))
{//abro llave de if q trae resultado de la consulta por la pass del usuario de la bd
$ClaveUser="SELECT tipo_usuario FROM usuarios WHERE nombre_usuario ='".$_POST['nombre_usuario']."' and pass='".$_POST['pass']."'";//consulto a la bd si existe el nombre_usuario y la pass
echo $_POST['nombre_usuario']."----".$_POST['pass'];//imprimo variable session nombre_usuario y pass
$resCU= pg_exec($conn,$ClaveUser);
while($row = pg_fetch_array($resCU))
{//abro llave de while q contendra switch case
switch ($row[0])
{//abro llave de switch
case 1:
$segundo=" SELECT
usuarios.nombre_usuario, usuarios.tipo_usuario,
nivel_acceso.descripcion
FROM usuarios
JOIN nivel_acceso ON usuarios.tipo_usuario = nivel_acceso.tipo_usuario
WHERE
usuarios.nombre_usuario = '".$_POST['nombre_usuario']."'
AND usuarios.pass = '".$_POST['pass']."'";
$resultado_segundo = pg_exec ($conn, $segundo);
echo $segundo;
while($row = pg_fetch_array($resultado_segundo))
{//abro llave while q destina a usuario administrador
session_start();
echo $_SESSION['usuario']=$row[0];
echo $_SESSION['estado']='ok';
echo $_SESSION['tipo']='ADMINISTRADOR';
header("Location:prueba.php");
}// cierro llave while q destina a usuario administrador
exit();//paro ejecucion del while q destina a usuario administrador
break;// break del case 1
}//cierro llave de switch
}//cierro llave de while q contendra switch case
}//cierro llave de if q trae resultado de la consulta por la pass del usuario de la bd
else
{
header("Location:index.php?login=nopass");
exit();
}
}//cierro llave de if q trae resultado de la consulta por nombre de usuario de la bd
else
{
header("Location:index.php?login=nouser");
exit();
}
}//cierro llave de if conectado a la bd correctamente
}// cierro llave de if nombre_usuario y pass distinto a vacio
else
{
header("Location:index.php?login=noset");
}
?>