Pon un exit justo después de cada redireccion, para que no se ejecute el resto del código.
Igualmente fijándome un poco más en el código, no veo la necesidad de realizar 3 pruguntas a la misma tabla una por cada tipo de usuario, si tuviésemos 10 tipos/niveles, hacemos 10 consultas? Deberías de hacer una única consulta, quitando del where idnivel de la consulta, luego si el usuario y la contraseña son correctas, hace un switch o if/elseif con el idnivel devuelto para Redireccionar al sitio deseado, ahorras un montón de código duplicado y en caso de agregar más tipos/niveles solo tienes que agregar una condición más.
Sea como sea ten en cuenta que
header es una cabecera y debe ser enviada antes de cualquier otra cosa al navegador, por lo que en tu código lo tienes mal.
Un ejemplo:
Esto esta mal
Código PHP:
<div class='col s12 card-panel blue lighten-2 center'>
<h5 class='black-text text-darken-2 center CONDENSED LIGHT5'>¡ Ups Aviso: Usuario Incorrecto !
</h5>
<?php header("refresh:5;login.php"); ?>
</div>
Esto sería correcto:
Código PHP:
<?php 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: Usuario Incorrecto !
</h5>
</div>