HTML Form that Passes Information to Hidden Fields Through URL
You need to write a multistep form with the Form API and CTools. 

The Form API allows you to write forms: See Creating a builder function to generate a form.

Because your form is multistep you need CTools to implement it, and handles issues like carry those values over the different steps.

This two subjects are too broad to explian in an answer, but there's lot of documentation about them.