Buenas
Tan sólo debes cambiarle el "name" al botón de envío de cada formulario (enviar1, enviar2, y enviar3) y ponerle un if al primer formulario:
Código PHP:
if (!isset($_POST["enviar"])){ // Si no se ha mandado el primero, se muestra
echo 'PRIMER FORMULARIO'.'<br>';
echo '<form method="post" action="">';
echo '<input type="text" name="nombre">';
echo '<input type="submit" name="enviar1" value="enviar">';
echo '</form>';
}
if (isset($_POST['nombre']) || isset($_POST["profesion"]) || isset($_POST["nacionalidad"])){
if (!isset($_POST["enviar2"])){ // Si el segundo formulario no ha sido enviado, se muestra
echo 'SEGUNDO FORMULARIO'.'<br>';
echo '<form method="post" action="">';
echo '<input type="text" name="profesion">';
echo '<input type="submit" name="enviar2" value="enviar">';
echo '</form>';
}
if (!isset($_POST["enviar3"])){ // Si el tercer formulario no ha sido enviado, se muestra
echo 'TERCER FORMULARIO'.'<br>';
echo '<form method="post" action="">';
echo '<input type="text" name="nacionalidad">';
echo '<input type="submit" name="enviar3" value="enviar">';
echo '</form>';
}
}
Ten en cuenta que todo esto es estático por eso, es decir, vas recargando la página hasta 3 veces para llenar los 3 formularios. Si lo quisieras dinámicamente deberías usar otros lenguajes como JavaScript por ejemplo.
PD: Por curiosidad, por qué lo haces en 3 formularios distintos en vez de en uno? Sólo son 3 preguntas: nombre, profesión, nacionalidad... y enviar! no? :/
Espero que te sirva
Saludos