php表單提交后不清空的實(shí)現(xiàn)方法:首先打開相應(yīng)的代碼文件;然后在“session_start()”之后,字符輸出之前寫上語句“header(“cache-control: private”);”即可。
推薦:《php視頻教程》
php表單提交完返回,表單內(nèi)容不清空解決方法
我們經(jīng)常在注冊的時候,填寫一大推信息以后在提交注冊的時候,因?yàn)槟骋豁?xiàng)信息不正確,在返回的時候之前的填寫的內(nèi)容全部沒有了,這樣會導(dǎo)致用戶喪失再次填寫的信息,會影響用戶體驗(yàn),造成用戶的流失,那么怎么解決這一問題呢?
解決方法是在session_start()之后,字符輸出之前寫上header(“cache-control: private”);
網(wǎng)頁的緩存是由http消息頭中的“cache-control”來控制的,常見的取值有private、no-cache、max-age、must-revalidate等,默認(rèn)為private。其作用根據(jù)不同的重新瀏覽方式分為以下幾種情況:
(1) 打開新窗口
值為private、no-cache、must-revalidate,那么打開新窗口訪問時都會重新訪問服務(wù)器。
而如果指定了max-age值,那么在此值內(nèi)的時間里就不會重新訪問服務(wù)器,例如:
cache-control: max-age=5(表示當(dāng)訪問此網(wǎng)頁后的5秒內(nèi)再次訪問不會去服務(wù)器)
(2) 在地址欄回車
值為private或must-revalidate則只有第一次訪問時會訪問服務(wù)器,以后就不再訪問。
值為no-cache,那么每次都會訪問。
值為max-age,則在過期之前不會重復(fù)訪問。
(3) 按后退按扭
值為private、must-revalidate、max-age,則不會重訪問,
值為no-cache,則每次都重復(fù)訪問
(4) 按刷新按扭
無論為何值,都會重復(fù)訪問
cache-control值為“no-cache”時,訪問此頁面不會在internet臨時文章夾留下頁面?zhèn)浞荨?br>另外,通過指定“expires”值也會影響到緩存。例如,指定expires值為一個早已過去的時間,那么訪問此網(wǎng)時若重復(fù)在地址欄按回車,那么每次都會重復(fù)訪問: expires: fri, 31 dec 1999 16:00:00 gmt
比如:禁止頁面在ie中緩存
http響應(yīng)消息頭部設(shè)置:
cachecontrol = no-cachepragma=no-cacheexpires = -1expires是個好東東,如果服務(wù)器上的網(wǎng)頁經(jīng)常變化,就把它設(shè)置為-1,表示立即過期。如果一個網(wǎng)頁每天凌晨1點(diǎn)更新,可以把expires設(shè)置為第二天的凌晨1點(diǎn)。
當(dāng)http1.1服務(wù)器指定cachecontrol = no-cache時,瀏覽器就不會緩存該網(wǎng)頁。
舊式 http 1.0 服務(wù)器不能使用 cache-control 標(biāo)題。
所以為了向后兼容 http 1.0 服務(wù)器,ie使用pragma:no-cache 標(biāo)題對 http 提供特殊支持。
如果客戶端通過安全連接 (https://)與服務(wù)器通訊,且服務(wù)器在響應(yīng)中返回 pragma:no-cache 標(biāo)題,
則 internet explorer不會緩存此響應(yīng)。注意:pragma:no-cache 僅當(dāng)在安全連接中使用時才防止緩存,如果在非安全頁中使用,處理方式與 expires:-1相同,該頁將被緩存,但被標(biāo)記為立即過期。
cache-control消息頭域說明
cache-control指定請求和響應(yīng)遵循的緩存機(jī)制。在請求消息或響應(yīng)消息中設(shè)置
cache-control并不會修改另一個消息處理過程中的緩存處理過程。請求時的緩存指令包括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。各個消息中的指令含義如 下:
public指示響應(yīng)可被任何緩存區(qū)緩存。
private指示對于單個用戶的整個或部分響應(yīng)消息,不能被共享緩存處理。這允許服務(wù)器僅僅描述當(dāng)用戶的部分響應(yīng)消息,此響應(yīng)消息對于其他用戶的請求無效。
no-cache指示請求或響應(yīng)消息不能緩存
no-store用于防止重要的信息被無意的發(fā)布。在請求消息中發(fā)送將使得請求和響應(yīng)消息都不使用緩存。
max-age指示客戶機(jī)可以接收生存期不大于指定時間(以秒為單位)的響應(yīng)。
min-fresh指示客戶機(jī)可以接收響應(yīng)時間小于當(dāng)前時間加上指定時間的響應(yīng)。
max-stale指示客戶機(jī)可以接收超出超時期間的響應(yīng)消息。如果指定max-stale消息的值,那么客戶機(jī)可以接收超出超時期指定值之內(nèi)的響應(yīng)消息。