本文實例講述了php禁止浏覽器使用緩存頁面的方法。分享給大家供大家參考。具體方法如下:
頁面緩存在有的時候是不需要的,我們可以禁止浏覽器緩存頁面。
在PHP中可以輕松的使用下面的語句實現禁止頁面緩存,但比較難記特整理下,方便大家使用。
php代碼如下:
復制代碼 代碼如下:<?php
// 設置此頁面的過期時間(用格林威治時間表示),只要是已經過去的日期即可。
header ( " Expires: Mon, 26 Jul 1970 05:00:00 GMT " );
// 設置此頁面的最後更新日期(用格林威治時間表示)為當天,可以強制浏覽器獲取最新資料
header ( " Last-Modified:" . gmdate ( " D, d M Y H:i:s " ). "GMT " );
// 告訴客戶端浏覽器不使用緩存,HTTP 1.1 協議
header ( " Cache-Control: no-cache, must-revalidate " );
// 告訴客戶端浏覽器不使用緩存,兼容HTTP 1.0 協議
header ( " Pragma: no-cache " );
?>
這對於某些頁面來說是很有用的,例如:單信息以及訂單下的商品,並且清空購物車對應商品數據。
肯定不希望用戶到了最後一個頁面,都已經生成訂單了,再點浏覽器的返回按鈕回到前一個頁面。
那麼在訂單地址頁面加入:
復制代碼 代碼如下:header("Cache-Control:no-cache,must-revalidate,no-store"); //這個no-store加了之後,Firefox下有效
header("Pragma:no-cache");
header("Expires:-1");
這個頁面不緩存了,並且有個判斷購物車商品為空就跳轉到空購物車的頁面,那麼用戶點擊浏覽器後退,回來之後,也直接到 購物車頁面了。
希望本文所述對大家的PHP程序設計有所幫助。
只要服務器端設計嚴謹,你再怎麼在客戶端搞也沒意義。
頁面過期是設置的http header,要想修改header那你得想法截獲 http 數據通信的包,修改完了再恢復http對話,難度可不小。
而且設計者一般都在提交之後肯定就設定某個標記指明這次測試結束了,你即便能再次提交,肯定也會出現錯誤的,當然,不排除設計者是巨笨的那種情況。
頁面加上這三行代碼看行不行:
header("Expires: -1");
header("Cache-Control: no_cache");
header("Pragma: no-cache");