I guess the problem you have is the one I run into before.
If you set the page expired right away, you will get that message "This page cannot be refreshed without sending the data.".
But if you don't expire your page, you will need to automatically refresh it to get the new results of the page.
Try two ways. here is what i did in asp. set this page to not expire but when this page load, force it to refresh once. after it is refreshed, set the flag to already refreshed, so it will not loop refresh endless.
1)
<%
if session("myrefresh")<>1 then
session("myrefresh")=1
%>
<script language=javascript>
<!--
document.location.reload(true);
//--></script>
<%
else
session("myrefresh")=0
end if
%>
2) i think a better way is passing the timestamp as a parameter to this page itself.
<form action="itself.html?time=<?php echo(time()); ?> so when the browser will think it is a different url everytime when you refer back to that page.
not sure it will help. it was a lot time ago i run into this issue.
hui