i have a perl script that generates a form. the user fills out the form and clicks the submit button. if there are any errors, they are listed, and the user is instructed to hit the browser back button to fix them. the back button does go back to the form where the original user data is shown so that the user can edit the data.
fast forward...
now i have a php script that generates a form. the user fills out the form and clicks the submit button. if there are any errors, they are listed, and the user is instructed to hit the browser back button to fix them. this time clicking the browser back button does not display the form, but rather, the error page is again displayed.
both the perl and php scripts do not have query strings (both do posts) and both call themselves. sure, i could just redisplay the php generated form with the user input on the error page, but for the sake of figuring out why there is a difference between the way perl and php handle self-calls, let's not go that route.
i turned off my browser cache, but the php script still acted as above. the only way i could figure out how to get the php script to quit doing the above was to append a random number in a query string so that clicking the back button would show the original data entered by the user.
so the question (two parts)...
why the difference, and how do i fix it so the php script works like the perl script (without doing a get)?