E come fa ad andare in loop infinito?
Non c'è niente che lo mandi in loop mi pare.

E cmq prova ad inesrire pure un exit(); dopo l'header

Codice PHP:
else {         
  
header("Location: messaggio.php?messaggio=Tutto%20ok!");
  exit();