Yo lo cambiaria a algo mas sencillo y sin usar variables en session hasta que sea realmente necesario:
Estructura login.php:
Código:
session_start()
$error = '';
Si existe $_POST['entrar'] {
Procesar los campos necesarios
si usuario o password = '' {
$error = 'no dejes en blanco estos campos'
} else {
buscar usuario y password en la base de datos
si usuario no existe {
$error = 'nombre de usuario invalido'
} else si password no coincide {
$error = 'contraseña invalida'
} else {
no hay errores, establecer las variables necesarias y redirigir
}
}
}
echo $error
?>
aqui el formulario solo modificas el action
<form method="post" action"=login.php">
agregas un campo oculto:
<input type="hidden" name="entrar" value="1" />
y finalizas con el resto del formulario