Multi step form with click and state logging in Drupal 7?
I can't say that this is the best way, but you can achieve that using the Webform module.

You can create multi step form using Webform module. Add Page break type to form components to split the form.



In Advanced Form Settings you can manage the multi step form actions like 'Automatically save as draft between pages and when there are validation errors' options.


In you want to provide advanced navigation bar for multi step web from you can try the Webform steps module


  This module provides a navigation bar for multi-page webforms. The navigation bar is a set of buttons placed at the top of each webform page. The buttons allow free navigation between steps that have already been visited.