EDIT: (The solution ended up being, against all expectation, that everything was actually perfectly fine. It was the -webhost- that was messing it up. Note to anyone who … (read more)
EDIT: (The solution ended up being, against all expectation, that everything was actually perfectly fine. It was the -webhost- that was messing it up. Note to anyone who comes across this: GoDaddy is terrible for hosting. The same files, uploaded to a real webhost like SourceForge, work perfectly well. What GoDaddy can possibly be failing at, I can't even imagine.)
I am creating a self-referential form (POST method) in PHP to lead a user through the process of a complicated, branching calculation. I load the PHP in Firefox 3.6 and it comes up fine, and I do the first submission and that works fine. But if I do another submission quickly (within a few seconds), instead of working, it submits to itself with no fields so I get the front page back again, and no matter what I do, it keeps submitting with no fields. If I then reload the original PHP file not via POST and redo the first submission, the first submission works again and the second fails again.
However, if I do the first submission, and then sit there doing absolutely nothing for maybe 20-30 seconds, and then do the second submission, it works perfectly fine. If I again wait, the third submission works; otherwise, it submits like the first with no fields and messes up.
I tried this with and without HTTP headers to prevent caching, without effect.
Any ideas what's going on?
Edit: (And, to be clear, if I change POST method to GET method, it works flawlessly every time. But having the data appear in the URL is confusing and problematic for users, as well as severely complicating the process of bookmarking if the user decides in the middle of the calculation to make a bookmark. The bookmark should be to the beginning of the calculation, not the middle, because the calculation is time-sensitive so old data are useless and should not be re-produced.)