Have the master script check for a GET variable called "session" or whatever. If it doesn't exist, create one (32-character md5_hex of microtime and rand) and forward to a new URL with the session variable tacked on the end. If it does exist, check your database for stored forms with that session ID, and randomly pick from any of the six forms the user hasn't done yet. Pass the form type as a hidden field with each one so when it's submitted you know where to store the data. When you detect that six forms have been stored, display a thank-you message.
I use similar techniques for multiple-page sessions all the time. Session ID's in the URL are fairly reliable.