這篇文章帶給大家的內容是關於修改器沒有發現程式用PHP程式實現支援頁面後退的兩種方法,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。
第一,使用Header方法設定訊息頭Cache-control
QUOTE:
header('Cache-control: private, must-revalidate'); 第二,使用session_cache_limiter方法
QUOTE:
//注意要寫在session_start方法之前
session_cache_limiter('private, must-revalidate');域說明
Cache-Control指定請求和回應遵循的快取機制。在要求訊息或回應訊息中設定Cache-Control並不會修改另一個訊息處理過程中的快取處理過程。請求時的快取指令包括no-cache、no-store、max-age、max-stale、min-fresh、only-if- cached,回應訊息中的指令包括public、private、no-cache、no-store、 no-transform、must- revalidate、proxy-revalidate、max-age。各訊息中的指令意義如下:
Public指示回應可被任何快取區快取。
Private指示對於單一使用者的整個或部分回應訊息,不能被共用快取處理。這允許伺服器僅描述當使用者的部分回應訊息,此回應訊息對於其他使用者的請求無效。
no-cache指示請求或回應訊息不能快取
no-store用來防止重要的訊息被無意的發佈。在請求訊息中發送將使得請求和回應訊息都不使用快取。
max-age指示客戶機可以接收生存期不大於指定時間(以秒為單位)的回應。
min-fresh指示客戶機可以接收回應時間小於目前時間加上指定時間的回應。
max-stale指示客戶機可以接收超出逾時期間的回應訊息。如果指定max-stale訊息的值,那麼客戶機可以接收超出超時期指定值之內的回應訊息。
關於表單刷新
問:為什麼我在點擊瀏覽器的後退按鈕後,所有欄位的資訊都被清空了?
答:這是由於你在你的表單提交頁面中使用了 session_start 函數。此函數會強制目前頁面不被快取。解決方法為,在你的 Session_start 函數後加入 header("Cache-control: private"); 注意在本行之前你的PHP程式不能有任何輸出。
補充:還有基於session的解決方法,在session_start前加上
QUOTE:
session_cache_limiter('nocache');// 清除表單
session_cache_limiter('private');清空表單,只在session生效期間
session_cache_limiter('public'); //不清除表單,如同沒使用session一般
可以在session_start();前面加上 session_cache_limiter("private,max-age= 10800");
以上介紹了修改器沒有發現程序 兩種使用PHP程式來實現支援頁後退的方法,包括了修改器沒有發現程式方面的內容,希望對PHP教學有興趣的朋友有所幫助。