1、F5 刷新
2、Ctrl+F5 刷新
3、“转至”或地址栏里回车刷新
这些快捷键的功能,主流浏览器都是相同的。
而这三种刷新方式会导致浏览器采取不同的缓存机制:
F5:不允许浏览器直接使用本地缓存,因此Last-Modified能起作用,但Expires无效
Ctrl+F5:是强制刷新,因此缓存机制失效
“转至”或地址栏里回车:正常的访问,Last-Modified和Expires都有效
总结:
浏览器在刷新时,把上一次的post参数给记忆下来并重新传递给了服务器,不管在这个过程中你是否做什么样的改动,他一概不予理会,而是忠实的把上一次所有POST的参数原封不动的重新发送给服务器
php防止刷新页面重复提交
作为phper,我们在开发和学习php过程中,难免要经常的接受处理表单数据,然而处理表单的时候总会有一个问题,困扰大家,刷新页面重复提交的问题。如何防止刷新页面重复提交呢?
其实在php学习中我们会有很多的方法,比如最简单的,我们可以采用,提交成功后,进行跳转的方法。但是这样做,有时候,会有很多瓶颈,比如,如果我们的页面有很多内容需要加载,尤其是很多跟后台打交道,这样如果跳转重新加载页面的话,可能会对服务器造成压力。这里我们可以采用另外一种方法,来防止刷新页面重复提交,以便大家更好的学习php。
我们可以利用session来解决。我们首先新建一个session,并赋值,第一次提交后改变session的值,当第二次再此提交此内容时,如果不是我们的赋值,就不在处理传过来的数据。
如:
<?php
session_start();
$_SESSION['num'] = 0;
if(isset($_POST['action'] &&$_POST['action']=='submit')){
if($_SESSION['num'] == 0){
echo '<a href="'.$_SERVER['PHP_SELF'].'">'请再次尝试</a>;'
$_SESSION['num'] = 1;
}else{
echo '您已经提交过了,请不要重复提交';
}
}
?>
前台页面没有给出,相信大家都明白前面该怎么写。其实诸如防止刷新页面重复提交的方法,还有很多,在以后php学习交流中,还会更多的列举出来。