It looks like there is a single page (php script) at one URL that does 2 things:
- Receive POST data from the browser and update the db.
- Display another page (for example, record listing).
Sure, displaying the page (pt. 2) doesn't require saving data (pt. 1) but your browser has no way of knowing that so when you go back the browser sends the POST data again thinking (reasonably) that sending the POST data is necessary to display the page. The solution is to split the two into separate pages/scripts so that the script at URL 1 receives data, saves it and then redirects the browser to URL 2, which displays the page. For this to work, page 2 obviosly needs a separate URL on its own. The most appropriate type of redirect after POST is the 303 See Other status code: