First I must strongly advise that you never, ever design a Web 
application that depends on the back button. This is a key 
characteristic of a poorly designed application in most cases and is 
worth a second look.

Glancing at the HTTP headers you are sending, two things stand out to 
me. First, I am not sure that both Cache-Control headers will get sent. 
Even if they are, I am not sure that you're going to see consistency 
with Web browsers handling the multiple Cache-Control headers. Some HTTP 
headers are intended to be used in multiple instances, such as 
Set-Cookie, but Cache-Control is not one. Thus, you should specify your 
directives in a single Cache-Control header.

In addition, many versions of Internet Explorer are known to ignore the 
no-store directive. This directive does not allow even the storage of a 
resource on your local computer. The message you see is being given by a 
browser that actually adheres to this directive. Only non-compliant 
browsers will not show this warning.

Either way, however, you eliminate just about any form of caching with a 
compliant Web browser with all of the headers you are sending, and it 
sounds like you specifically want the browser to cache a 
previously-viewed page. So, you're going to have to make up your mind. 
:-) The best first step for you to take is to learn what those headers 
mean that you are sending.

Happy hacking.


Don wrote:

>I am having trouble with sessions.  I've created a user login/password
>section that uses session variables.  Within this section, I have a form
>where the user enters data and submits.  When the user clicks on the Browser
>back button, they should get back to the form with their data intact.  This
>is indeed what happens most of the time but some users report that they get
>the following message after clicking on "Back":
>Warning: Page has Expired The page you requested was created using
>information you submitted in a form. This page is no longer available. As a
>security precaution, Internet Explorer does not automatically resubmit your
>information for you.
>To resubmit your information and view this Web page, click the Refresh
>When the refresh, their data is gone!!!  I've gone through the docs and
>placed the following headers at the top of every file.  Why is this
>happening and to only a few users???
>header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
>header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
>header("Cache-Control: no-store, no-cache, must-revalidate");
>header("Cache-Control: post-check=0, pre-check=0", false);
>header("Pragma: no-cache");
>session_cache_limiter('private_no_expire, must-revalidate');

PHP General Mailing List (
To unsubscribe, visit:

Reply via email to