[eluser]JHackamack[/eluser]
If I am reading your problem right then the following might work:
1. Show form
2. Insert data into DB Giving you a primary key
3. Preview data
4. Agree to publish data by updating the DB row with an enabled flag
The way this works is there is an additional table column called enabled that is defaulted to 0. When you agree to display the form it's changed to 1. Displaying data to the public only looked for the enabled field where the value is one.