Re: Frusration using Sessions!!!
| From: | Chris Shiflett | Date: | Tue, 24 Sep 2002 03:36:35 +0000 |
| Subject: | Re: Frusration using Sessions!!! | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-117363@lists.php.net to get a copy of this message | ||
Don,
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.
Chris
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 button. =================================== 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'); session_start();