Vale, me acabo de dar cuenta del error. En lugar de mandar otra cabecera, simplemente se guarda la frase en la variable $error, en ambos ELSE.
Es decir, en lugar de poner:
Código PHP:
header('Location:'.$_SERVER['PHP_SELF'].'?error=Contraseña incorrecta<br>Por favor introduzca de nuevo los datos');
hay que escribir:
Código PHP:
$error="Contraseña incorrecta<br>Por favor introduzca de nuevo los datos";
Y lo mismo para el otro ELSE
Jeje... Perdon por las molestias
Saludos