How to create dynamic result content based on submitted form data


I would like to create a multistep questionnaire form. A question can be set to appear only if a previous question has a specific answer(s). After the whole form is submitted I want to generate a dynamic result page with recommended content, which in turn will depend on answer of each question.

I would like to store the answers per each user, so they can re-take the questionnaire.

I would like to have a resulting link on user's account page that will display the recommended content from previously answered questionnaire.

Is something like that already exists? If not, how to better structure and program something like that?

Many thanks, Dasha