En esa otra página (el tercer código que muestras) .. NO es necesari ni corresponde ese HTML que ahí usas .. Fijate bien que hace ese script:
Valida en funcion de algunas consultas SQL sobre unos datos .. según se cumpla una u otra condición -siempre- se acaba redireccionando a algun síto (página/script). NO muestres ahí ningún mensaje y luego redirecciones (como haces con esos header("refresh ...") .. El error muestralo en la página que redireccionas no en esa. Para eso puedes pasar una variable por una sesión o por el URL para indicar que sucedió un error.
por otro lado .. No le veo mucho sentido a:
Código PHP:
if (isset($_SESSION['usuariovalido'])) {
$_SESSION['usuariovalido'] = "SI";
}
else {
$_SESSION['usuariovalido'] = "SI";
}
Por qué en lugar de guardar un valor en una variable tipo "usuariovalido" = SI .. no guardas el valor del nombre de ese usuario .. o su ID .. por lo menos te servirá para usarlo en tu aplicación .. desde mostrar "es UD el usuario nombre: PEPITO" .. hasta usar ese ID para relacionarlo con acciones que haga en tu sistema .. La validación es la misma basada en su existencia: isset($_SESSION['nombre_usuario']) .. o empty() ...
Del resto ya me perdí .. ponle nombre a los códigos que pongas si corresponden a alguno de esos include() que llamas .. Recuerda que NUNCA puede existir algo de HTML enviado antes de un session_Start() (por si alguno de esos "include()" contiene algun session_start().
Un saludo,