Basically, you recieve data from "form 1" ( to an action) , and you want to either a) go back to a form 1. b) proceed to form 2, and try to submit that (repeat for form 2, 3 etc.).
I would make Form 1 and Form 2 two separate actions. Form 1 would submit to itself. If stuff was missing, it would return parameters that let the Form 1 template give an appropriate error message. If everything was fine, it would redirect to Form 2.