首页 › 程序设计 › php

警告: 网页已经过期"的解决方法

泡在网上的日子 / 文 发表于2012-04-16 12:10 次阅读

此提示出现在一个POST提交的页面,点到其它页面后,再返回时,IE就会显示这个提示。以前也有碰到过好多次,不过都没太在意,今天化时间了解了下,原来是session在作怪。

在通过IE的后退按钮或者网页中的history.go(-1)时,我们看到的将是缓存页,但使用了session_start后,这个函数会强制当前页面不被缓存,导致出现“警告: 网页已经过期”。

解决方法一:
在session_start之后加一句header("Cache-control: private"); 注意在此之前程序不能有任何输出。

解决方法二:
在session_start前加上session_cache_limiter('private'); //不清空表单,只在session生效期间
session_cache_limiter还有另两个参数的含义:
session_cache_limiter('nocache');// 清空表单
session_cache_limiter('public'); //不清空表单,如同没有使用session
收藏 赞 (0) 踩 (0)
上一篇:mysql中order by 后面的字段被加上- 负号是什么意思
你见过ORDER BY -title DESC这种用法吗? 在查看网站SQL语句时,发现这样一样语句,ORDER BY -title DESC。 第一反应是不是写错了那个-号是什么意思? 检测了下,两者结果是不一样的。 假定title字段有下面几个值:旅游1线,20路,112路,113路 title ASC得出
下一篇:dedecms源码分析之文章列表arclist_lib.php
这个文件负责显示文章的列表。 包括GetArclistCache(),lib_arclist(),lib_arclistDone(),lib_GetAutoChannelID(),list_sort_by()五个函数。 这五个函数的调用关系是 lib_arclist()-lib_GetAutoChannelID ; lib_arclist()-lib_arclistDone(); lib_GetAutoChann