Here's what I did. I broke it up into 2 pages. I have the form page, and the form processing page. On the form page, I create a SESSION variable. Then on the form processing page, I check to make sure that the SESSION variable exists and has the correct value. I then clean my variables, add the info to the db, and then delete the SESSION. That way, if someone tries to go back, the SESSION variable won't be there, so they won't be able to re-submit the info.