note 64538 modified in function.header by bjori

From: Date: Wed, 19 Apr 2006 02:49:17 +0000
Subject: note 64538 modified in function.header by bjori
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-108478@lists.php.net to get a copy of this message
When using HTML forms, using the browser's back button will sometimes display a message regarding using cached data, and will ask you to refresh the page. This can be very disconcerting for some users, as they might not know whether to hit Refresh or not. To force pages to always load the data that was entered in the form prior to hitting a submit button, and prevent the browser's cache message from displaying, use the following code: <?php // Original code found at http://www.mnot.net/cache_docs/ header("Cache-Control: must-revalidate"); $offset = 60 * 60 * 24 * -1; $ExpStr = "Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT"; header($ExpStr); ?> This will tell the browser that the page will expire in one day, and the cached form data will be used without prompting the user at all. I have tested this in Internet Explorer 6, Firefox 1.5, and Opera 8.51, and it works as intended. I have tried other cache-control and expiry variants, but they either do not work, or do not work in every browser. This code appears to be a winner. --was-- When using HTML forms, using the browser's back button will sometimes display a message regarding using cached data, and will ask you to refresh the page. This can be very disconcerting for some users, as they might not know whether to hit Refresh or not. To force pages to always load the data that was entered in the form prior to hitting a submit button, and prevent the browser's cache message from displaying, use the following code: <?php // Original code found at http://www.mnot.net/cache_docs/ header("Cache-Control: must-revalidate"); $offset = 60 * 60 * 24 * 1; $ExpStr = "Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT"; header($ExpStr); ?> This will tell the browser that the page will expire in one day, and the cached form data will be used without prompting the user at all. I have tested this in Internet Explorer 6, Firefox 1.5, and Opera 8.51, and it works as intended. I have tried other cache-control and expiry variants, but they either do not work, or do not work in every browser. This code appears to be a winner. http://php.net/manual/en/function.header.php

« previous php.notes (#108478) next »