用PHP程序?qū)崿F(xiàn)支持頁面后退的兩種方法
更新時(shí)間:2008年06月30日 09:17:00 作者:
在開發(fā)過程中,往往因?yàn)楸韱纬鲥e(cuò)而返回頁面的時(shí)候填寫的信息都不見了,為了支持頁面回跳,可以通過兩種方法實(shí)現(xiàn)。
第一,使用Header方法設(shè)置消息頭Cache-control
QUOTE:
header('Cache-control: private, must-revalidate'); //支持頁面回跳
第二,使用session_cache_limiter方法
QUOTE:
//注意要寫在session_start方法之前
session_cache_limiter('private, must-revalidate');
補(bǔ)充:
Cache-Control消息頭域說明
Cache-Control指定請求和響應(yīng)遵循的緩存機(jī)制。在請求消息或響應(yīng)消息中設(shè)置Cache-Control并不會修改另一個(gè)消息處理過程中的緩存處理過程。請求時(shí)的緩存指令包括no-cache、no-store、max-age、max-stale、min-fresh、only-if- cached,響應(yīng)消息中的指令包括public、private、no-cache、no-store、no-transform、must- revalidate、proxy-revalidate、max-age。各個(gè)消息中的指令含義如下:
Public指示響應(yīng)可被任何緩存區(qū)緩存。
Private指示對于單個(gè)用戶的整個(gè)或部分響應(yīng)消息,不能被共享緩存處理。這允許服務(wù)器僅僅描述當(dāng)用戶的部分響應(yīng)消息,此響應(yīng)消息對于其他用戶的請求無效。
no-cache指示請求或響應(yīng)消息不能緩存
no-store用于防止重要的信息被無意的發(fā)布。在請求消息中發(fā)送將使得請求和響應(yīng)消息都不使用緩存。
max-age指示客戶機(jī)可以接收生存期不大于指定時(shí)間(以秒為單位)的響應(yīng)。
min-fresh指示客戶機(jī)可以接收響應(yīng)時(shí)間小于當(dāng)前時(shí)間加上指定時(shí)間的響應(yīng)。
max-stale指示客戶機(jī)可以接收超出超時(shí)期間的響應(yīng)消息。如果指定max-stale消息的值,那么客戶機(jī)可以接收超出超時(shí)期指定值之內(nèi)的響應(yīng)消息。
關(guān)于表單刷新
問:為什么我在點(diǎn)擊瀏覽器的后退按鈕后,所有字段的信息都被清空了?
答:這是由于你在你的表單提交頁面中使用了 session_start 函數(shù)。該函數(shù)會強(qiáng)制當(dāng)前頁面不被緩存。解決辦法為,在你的 Session_start 函數(shù)后加入 header("Cache-control: private"); 注意在本行之前你的PHP程序不能有任何輸出。
補(bǔ)充:還有基于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");
QUOTE:
header('Cache-control: private, must-revalidate'); //支持頁面回跳
第二,使用session_cache_limiter方法
QUOTE:
//注意要寫在session_start方法之前
session_cache_limiter('private, must-revalidate');
補(bǔ)充:
Cache-Control消息頭域說明
Cache-Control指定請求和響應(yīng)遵循的緩存機(jī)制。在請求消息或響應(yīng)消息中設(shè)置Cache-Control并不會修改另一個(gè)消息處理過程中的緩存處理過程。請求時(shí)的緩存指令包括no-cache、no-store、max-age、max-stale、min-fresh、only-if- cached,響應(yīng)消息中的指令包括public、private、no-cache、no-store、no-transform、must- revalidate、proxy-revalidate、max-age。各個(gè)消息中的指令含義如下:
Public指示響應(yīng)可被任何緩存區(qū)緩存。
Private指示對于單個(gè)用戶的整個(gè)或部分響應(yīng)消息,不能被共享緩存處理。這允許服務(wù)器僅僅描述當(dāng)用戶的部分響應(yīng)消息,此響應(yīng)消息對于其他用戶的請求無效。
no-cache指示請求或響應(yīng)消息不能緩存
no-store用于防止重要的信息被無意的發(fā)布。在請求消息中發(fā)送將使得請求和響應(yīng)消息都不使用緩存。
max-age指示客戶機(jī)可以接收生存期不大于指定時(shí)間(以秒為單位)的響應(yīng)。
min-fresh指示客戶機(jī)可以接收響應(yīng)時(shí)間小于當(dāng)前時(shí)間加上指定時(shí)間的響應(yīng)。
max-stale指示客戶機(jī)可以接收超出超時(shí)期間的響應(yīng)消息。如果指定max-stale消息的值,那么客戶機(jī)可以接收超出超時(shí)期指定值之內(nèi)的響應(yīng)消息。
關(guān)于表單刷新
問:為什么我在點(diǎn)擊瀏覽器的后退按鈕后,所有字段的信息都被清空了?
答:這是由于你在你的表單提交頁面中使用了 session_start 函數(shù)。該函數(shù)會強(qiáng)制當(dāng)前頁面不被緩存。解決辦法為,在你的 Session_start 函數(shù)后加入 header("Cache-control: private"); 注意在本行之前你的PHP程序不能有任何輸出。
補(bǔ)充:還有基于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");
相關(guān)文章
php實(shí)現(xiàn)的表單驗(yàn)證類完整示例
這篇文章主要介紹了php實(shí)現(xiàn)的表單驗(yàn)證類,結(jié)合完整實(shí)例形式分析了php封裝的表單相關(guān)的正則驗(yàn)證、字符串轉(zhuǎn)換等相關(guān)操作技巧,需要的朋友可以參考下2019-08-08
php連接mysql數(shù)據(jù)庫最簡單的實(shí)現(xiàn)方法
在本篇文章里小編給大家分享的是關(guān)于php怎樣連接mysql數(shù)據(jù)庫的相關(guān)實(shí)例內(nèi)容,有需要的朋友們參考下。2019-09-09
PHP中4種常用的抓取網(wǎng)絡(luò)數(shù)據(jù)方法
這篇文章主要介紹了PHP中4種常用的抓取網(wǎng)絡(luò)數(shù)據(jù)方法,本文講解使用file_get_contents函數(shù)、fopen函數(shù)、curl庫三種常見方法抓取網(wǎng)絡(luò)數(shù)據(jù),并給出了代碼實(shí)例,需要的朋友可以參考下2015-06-06
關(guān)于PHP實(shí)現(xiàn)異步操作的研究
一般來說PHP適用的場合是web頁面展示等耗時(shí)比較短的任務(wù),如果對于比較花時(shí)間的操作如resize圖片、大數(shù)據(jù)導(dǎo)入、批量發(fā)送EDM、SMS等,就很容易出現(xiàn)操作超時(shí)情況2013-02-02
PHP PDOStatement::setFetchMode講解
今天小編就為大家分享一篇關(guān)于PHP PDOStatement::setFetchMode講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-02-02
php自定義排序uasort函數(shù)示例【二維數(shù)組按指定鍵值排序】
這篇文章主要介紹了php自定義排序uasort函數(shù),結(jié)合實(shí)例形式分析了php實(shí)現(xiàn)二維數(shù)組按指定鍵值排序的相關(guān)操作技巧,需要的朋友可以參考下2019-06-06

