Parece que tu caso es este: Es muy común utilizar una página principal que contiene un formulario y una respuesta al envio del formulario (index.php) y otra que procesa el formulario (aplicacion.php) y retorna variable(s) por GET o POST a index.php
index.php
Código PHP:
<?php
if ($_GET['registrado']==1){ //detecta que registrado vale 1
echo "Gracias por registrarte";
}else{
?>
<form action="aplicacion.php" method="POST">Registrese
<!-- aqui las etiquetas input del formulario -->
</form>
<?php
}
?>
aplicacion.php
Código PHP:
<?php
//llamada a la base de datos y demas
//esta pagina no contiene ni un echo, ni un espacio ni nada fuera de lo que es PHP
header("Location:index.php?registrado=1"); //retorna a index.php con la variable registrado
<?
Basandote en eso tienes que mirar qué es lo que hace cada parte del código y donde puede estar lo que dices que te manda donde no debe.