Assuming my PHP page does \'REAL\' actions.
By \'REAL\' I mean, executing DB actions, writing files, stuff like that, as opposed to just sending HTML.
When I hit
Pages that are loaded via POST will cause the browser to ask the user to resubmit the information to view the page resulting in the actions performed by that page happening again. If the pages is requested via GET and has variables in the querystring the same thing happens but silently (without the user being prompted to d it again).
The best to work around this is to use the POST/REDIRECT/GET pattern. I used it in an example about processing payments that I wrote for Authorize.Net. Hopefully that points you in the right direction.
By 'REAL' I mean, executing DB actions....
....Assuming it is a GET.
Then you've already undermined a fundamental principle of HTTP: Get is idempotent, onlu POST, DELE and PUT should modify state at the server.
There's a very good reason for this; use of the browser navigation elements (back, forward) does not require the browser to refer back to the origin for a GET or HEAD operation even if you tell the browser the page is uncacheable.
If I have an image I would like to refresh every time
...then fetch the image using javascript with a randomly generated query string via the window.onload method.