So long as you're keeping track of all the form data so far submitted...
And so long as you remember to enter already-entered form data back into their appropriate fields when the page is redisplayed...
You can pretty much do your checks and jump about however you like...
User submits form (I usually have the form page and its action script in the same php file).
Browser Javascript checks validity first (when possible)
Form action script checks validity all over again (in case Javascript didn't/couldn't).
session variables populated with form data.
Action script "does stuff" (either a redirect or just continuing through to any HTML following it), the upshot being either a redisplay of the current form with an error message (and fields already filled out), or the next form (or whatever happens after all the forms have been completed).
For added fun and excitement, you can add links so's users can bounce back to previous forms and alter data they'd already supplied. They resubmit, and their alterations are happily revalidated by the action script.