I'm building a multi-page form that will have about 30 fields (or more, depending on user input). I've currently set it up so that every time the submit button is pressed all of the data is stored in a SESSION so the user can go back and forth through the form and no data is lost.
I'm starting to rethink this, as the site is getting rather busy and the SESSION overhead may be too much. I'm thinking about going down the path that Tumblr is on. Apparently (please correct me if I'm wrong) they save everything in a table so that nothing is lost, even if you abandon the form without clicking on submit, the data is saved.
My users have to register before they can fill out the form, so it's easy for me to assign the data to a user, should they abandon the form. This way they can always return to it and complete it later, or delete it.
I'm thinking I would just INSERT all of the data into the database with it flagged something like 'editing' so that it doesn't appear on the rest of the site until it's set to 'published'. I could also set up a cron job to delete any entries that are over 10 days and not published.
What are your thoughts on this? Do you know how Tumblr does their magic? Do you know how they save everything without even clicking on submit?