如何避免网页出现“警告:网页过期” 急!!!! 用户要求在按historyback的时候网页不出"警告:网页过期"的情况 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 假如那个页面有提交数据的的话没有办法。一般都不用history.go(-1)直接用那个页面的url,假如要保存原来那个页面数据的话,必须用post或get传递 <input type="button" name="back" value="修改" onclick="javascript:history.go(-1);"> 我也经常遇到这种问题,真是头痛,history.back或者back(-1)经常会出现网页已过期,真希望能有高人帮忙解决 <script language="javascript"><!--javascript:document.location.href="****.php"; --> </script>这样往前退回来会过期。header("location:****.php");这样后退就不会过期了。 因为你的前一页是把form给post过来的,要避免就用get,不过密码就显示出来了 session_cache_limiter('private,must-revalidate');可以搞定,如果有SESSION的话,放在SESSION_START()前面,可以实现你要的效果 那是没有办法的,因为你使用了cookie除非你不用它。 解决方案:一般出现网页过期都是因为用到了session,这是session的保护机制。以下给出我的解决办法。本办法在w2k+apache1.3.27+php4.3.2下测试通过。在用到session处加上一句,如下所示:session_start();header("Cache-control: private"); 在www.phpe.net的文档中有介绍,大家可以去翻翻。 <?php session_cache_limiter('private, must-revalidate');session_start(); .....................?> 下面是session_start()产生的代码,仔细研究一下你就会发现问题出在最后面三项上为了确保session的安全,所以默认不缓存session,所以时间都是1981年,这样检查的时候都是过期。可以在session_start()语句下面写一个header()重新定义一下Expires的日期,不行的话下面两项在改改。我只指出问题的所在,怎么解决问题要靠你自己啦---------- PHP ----------Content-type: text/htmlX-Powered-By: PHP/4.3.4Set-Cookie: PSD=064265becf0961e0450b1e94249fc1e1; path=/Expires: Thu, 19 Nov 1981 08:52:00 GMTCache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0Pragma: no-cache输出完成 (耗时 0 秒) - 正常终止 网页过期的主要原因是刷新当前页的时候把以前提交的数据重新调了出来;你来试试以下代码,看看还会不会出现问题(不论点击‘后退’或‘前进’)。<?//session_start();//如果想用到提交来的变量if(!empty($_POST["Submit"])){ //做相应处理,但不要有任何输出... //如果怕出错的话,可以使用ob_start() //session_register("var1","var2");//如果想用到提交来的变量 $var1 = $_POST["var1"]; $var2 = $_POST["var2"]; unset($_POST["Submit"]); header("Location: http://".$_SERVER['HTTP_HOST'].$PHP_SELF);}echo $var1.$var2;?><form method=post><input type=text name=var1><input type=text name=var2><input type=submit name=Submit value='OK'></form> 关键是每次处理完提交后用header()重定向到本页。 这个试试!<a href="<? echo http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; ?>">返回</a> 关于PHP+sql server 处理时间日期的问题 php调用第三方应用程序显示图纸 php解析 有个关于PHP的小问题,帮个忙 在安装ecstore时,连接数据库,列表中不出现数据库名 这个星期问题如何解决。 百度的首页都是PHP做的,你说PHP强不强! 需要做做电子商务那些需求分析,怎样规划比较好? 怎样在单机win98下配置php环境? PHP-Eclipse调试时为什么显示无法找到该网页?已配置 WAMP 多选选单的GET和POST问题?@@@@@@@@@@(100分相送) php与sql server2000的连接
直接用那个页面的url,假如要保存原来那个页面数据的话,必须用post或get传递
<!--
javascript:document.location.href="****.php";
-->
</script>
这样往前退回来会过期。
header("location:****.php");
这样后退就不会过期了。
可以搞定,如果有SESSION的话,放在SESSION_START()前面,可以实现你要的效果
一般出现网页过期都是因为用到了session,这是session的保护机制。以下给出我的解决办法。本办法在w2k+apache1.3.27+php4.3.2下测试通过。在用到session处加上一句,如下所示:
session_start();
header("Cache-control: private"); 在www.phpe.net的文档中有介绍,大家可以去翻翻。
session_cache_limiter('private, must-revalidate');
session_start();
...........
..........
?>
为了确保session的安全,所以默认不缓存session,所以时间都是1981年,这样检查的时候都是过期。可以在session_start()语句下面写一个header()重新定义一下Expires的日期,不行的话下面两项在改改。
我只指出问题的所在,怎么解决问题要靠你自己啦
---------- PHP ----------
Content-type: text/html
X-Powered-By: PHP/4.3.4
Set-Cookie: PSD=064265becf0961e0450b1e94249fc1e1; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache输出完成 (耗时 0 秒) - 正常终止
你来试试以下代码,看看还会不会出现问题(不论点击‘后退’或‘前进’)。
<?
//session_start();//如果想用到提交来的变量
if(!empty($_POST["Submit"]))
{
//做相应处理,但不要有任何输出...
//如果怕出错的话,可以使用ob_start()
//session_register("var1","var2");//如果想用到提交来的变量
$var1 = $_POST["var1"];
$var2 = $_POST["var2"];
unset($_POST["Submit"]);
header("Location: http://".$_SERVER['HTTP_HOST'].$PHP_SELF);
}
echo $var1.$var2;
?>
<form method=post>
<input type=text name=var1>
<input type=text name=var2>
<input type=submit name=Submit value='OK'>
</form>
<a href="<? echo http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; ?>">返回</a>