Tal vez te pueda servir también $_SERVER['REQUEST_METHOD'], que devolverá el método por el que se ha llamado la página. Así, si se envió del formulario (claro está, usando el método POST), obtendrás
post, y si fue llamado directamente
get.
Ahora, para evitar lo que te está pasando, debes generar la variable de sesión en la página que procesa el formulario, y al volver al formulario, debes obtenerla y luego borrarla. Así esa variable no quedará disponible más:
Código PHP:
session_start();
$errors=$_SESSION['errors'];
// Borramos la variable de sesión
unset($_SESSION['errors']);
if(!empty($errors)) {
// Imprimes la capa que mostrará el error
}
Saludos,