Buenas noches.
Te dejo el ejemplo por aquí, obviamente no lo he probado y puede que contenga algún error, pero creo que te puedes hacer una idea.
Hay algunas variables que no se a que hacen referencia y simplemente las he comentado y otras que he supuesto que extraes de la base de datos pero no estoy seguro ya que en el código que pasaste no estaban definidas en ningún lugar.
Espero que te sea de ayuda.
Un saludo.
Código PHP:
<?php
include("conexion/conexion.php");
// Preparamos la consulta y la ejecutamos
$sql = $DB_con->prepare('SELECT * FROM user WHERE user = :user AND password = :password LIMIT 1');
$sql->bindParam(':user', $_POST['user']);
$sql->bindParam(':password', hash('sha256', $_POST['password']));
$sql->execute();
$sql->closeCursor();
// Comprobamos si ha devuelto algun registro
if($sql->rowCount()>0){
// Inicimaos sesion
session_start();
// Recuperamos los datos de la consulta
$row = $sql->fetch(PDO::FETCH_ASSOC);
//definimos las variables necesarias para la sesion
$_SESSION['id'] = $row['id'];
$_SESSION['correo'] = $row['correo'];
$_SESSION['idnivel'] = $row['idnivel'];
$_SESSION['nombres'] = $row['nombres'].' ' .$row['apellidos'];
$_SESSION['cedula'] = $row['cedula'];
// Redirigimos la pagina segun idnivel
switch ($_SESSION['idnivel']) {
case 'Administrador':
header("Location: admin/home.php");
exit;
break;
case 'Usuarios':
header("Location: usuarios/home.php");
exit;
break;
case 'Secretarias':
header("Location: secretaria/home.php");
exit;
break;
// Definimos que hacemos en caso de no detectar ningun idnivel valido
default:
header("refresh:5;login.php");
?>
<div class='col s12 card-panel blue lighten-2 center'>
<h5 class='black-text text-darken-2 center CONDENSED LIGHT5'>¡ No se pudo determinar el nivel del usuario !</h5>
</div>
<?php
session_destroy();
exit;
break;
}
/* Estas 3 variables no se a que hacen referencia ni de donde salen */
/*
$_SESSION['Administrador'] = $clave;
$_SESSION['Secretarias'] = $correo;
$_SESSION['Usuarios'] = $correo;
*/
}
// Definimos que hacemos en caso de que la consulta no haya devuelto ningun resultado
// Es decir en caso de que la contraseña y el usuario sean incorrectos
else{
header("refresh:5;login.php");
?>
<div class='col s12 card-panel blue lighten-2 center'>
<h5 class='black-text text-darken-2 center CONDENSED LIGHT5'>¡ Ups Aviso: Contraseña o usuario incorrectos !
</h5>
</div>
<?php
exit;
}
: