The problem is that the page is the 'result' of sending information, although not visibly so. Specifically, of sending information via POST.
My suggestion is to work around this by not doing the processing and the display on the same 'page'.
Try setting it up like this:
-user receives normal page
-user inputs and sends information
-PHP receives information and processes it
-PHP sends a Location header with message
-user receives normal page
-repeat, ad nauseum
So say the user's form has a submit button, creatively named $userSubmit. Therefore the PHP can tell if a user is sending information or simply wants to view it by testing for $userSubmit. example structure:
if ($userSubmit)
{
// process information
// send redirect
} else {
// display page
}
You can do a redirect like this:
header ("Location: $PHP_SELF");
exit;
And additionally you can send a message by adding a query string manually (as long as the variables are passed via the query string, refreshing does not require verification)
header ("Location: $PHP_SELF?msg=1");
exit;
where msg=1 yields "you have successfully added a widget", msg=2 yields "there was an error" or whatever...
Hope this helps!
cheers!
-david