Si pones una pagina intermedia en PHP que tenga un header("Location:xxx") y que esta procese y reenvie al siguiente paso del formulario al menos te ahorras el que al hacer click en el botón atras este se actualice:
Por ejemplo si el form tiene dos pasos:
form1 -> pagina qeu procesa y reenvia a -> form2 -> pagina que procesa y...-> form3
Si haces click en atras en el form3 se pasa a la pagina del form2 y no actualiza porque no fue generada con datos enviados. Cuando no ponemos este paso intermedio como en:
form1 -> form2 (procesa y muestra el form2) -> form3 (procesa y muestra el form3)
Al pasar de form3 a form2 se debe actualizar pq el form3 "fue generado con datos enviados" desde la pagina anterior.
Espero que te sirva de ayuda.!