How to jump directly to a step
Sometimes you want to jump directly to a specific step in a form. The reason can be that the user already chose some options in another form or that you processed the form data on another server and want to redirect back.
A normal Formhandler form doesn't allow this. Formhandler generates a random ID everytime the form is initially called and uses it to store the submitted values in the session. If you jump direclty to a step, there is no session information and Formhandler generates a new random ID causing the form to start with the first step.
However, you can set your own ID, which you can pass along via GET or POST to tell Formhandler which session to reuse. You can set it using the "uniqueFormID" setting.
plugin.Tx_Formhandler.settings { uniqueFormID = myStaticFormID }
Now you can call the form page and pass along this ID and information about the step to go to and Formhandler will jump right to this step (if the user has visited this step before the one you want to jump to).
http://www.domain.tld/form-page/?formhandler[submitted]=1&formhandler[step-3-next]=next&formhandler[randomID]=myStaticID
Please note that "formhandler" is the value you set as "formValuesPrefix".
"submitted" is needed to tell Formhandler that the form was submitted.
"step-[x]-next" tells Formhandler to jump to step "[x]".
"randomID" should be set to the value you configured as "uniqueFormID".
Allow step jumps inside a form
There may be a multistep form presenting the user a summary of the entered data before the form is finished and the emails are sent. The user may notice, that some input is wrong on the first step. Normally, the user has to hit "Previous" until the first step is shown, modify the input and hit "Next" until the summary step is shown again.
So, it is possible to go back or forth in the form only one step at a time. This is the normal behavior of multistep forms in Formhandler due to validation and security reasons. However, if you want to allow step jumping, have a look at the settings allowStepJumps and disableStepCheck in the documentation.