① php中如何实现防刷新机制
最常见的防刷新肯定是在处理表单的时候,防止重复提交。我们有很多种方式来处理:1、提交表单之后,进行跳转,这是很常用的方式。如果你的表单是从index.php提交到post.php页面处理的,那么提交完之后可以跳转再回到index.php页面,这样再刷新就不会重复提交了。如果你是提交给当前页面处理,可以在提交之后再重新跳转到当前页面。2、使用验证码,也很常用。在提交表单数据之前先判断验证码,由于每提交一次,验证码就会变,所以这样是可以避免重复提交的。3、使用Ajax方式,毫无疑问可以避免刷新重复提交。以上讨论的是针对表单提交的防刷新,那么其他的防刷新呢?比如,我要统计一篇文章的点击数,我希望当用户刷新页面的时候,不进行统计,该怎么办呢?在此,站长只提供一种不完美的解决方案:即在当前的会话中,不统计重复载入。请看下面的代码:<?php session_start();if(!$_SESSION['sid']){ $_SESSION['sid']=session_id(); echo ‘您在此次会话中第一次浏览该页面,进行统计’;}else{echo ‘您已经在此次会话中浏览过该页面,不统计’; }?>当用户在第一次会话中访问页面时,进行统计,并把当前的会话id存在session,如果用户刷新或者从浏览器重新载入,由于在当前会话中已经访问过了,所以不会再次统计。但是,如果当用户关闭浏览器后再浏览,是会统计的。在此,站长也就文章统计是否有必要做得这么精确,说一些个人看法吧。
② 在用php做小页面,有个表单.每次刷新页面时老是提示不要重复提交表单怎样去掉这个提示啊
首先,为什么会指槐答出现这个问题?假设你在a.html有一个表单<form>....</form>,首先我们要理解浏览器这样做的用意:如果我们刷新这个网页,你表单填写的内容可能会被reset。如果你的表单是长长的填写了很多内容,你当然不希望重头再来,就这点而言,浏览器的提示没有恶意。我们要做的就是告诉浏览器:放心刷新。这也是解题的思路:在刷新时把表单撤了。当然,我的情况可能和你的不同,我写的是弹窗式的登录页面,所以,我用Jquery写了个Load(“b.html”),b.html里只有一个<form>。这样做就可以保证a.html里没有<form>。只有你的网唯慧页里有<form>,chrome就会提示“重新提交表单”。这个情况在IE,FF则不会明裤出现。
这是我遇到的情况,希望对你有启发。
③ PHP关于避免 页面刷新时 重复提交表单的问题。。
其实有一个陵盯不太好的办法
就是当用户提交表单之后,用js弹出一个框,已成功提交,
echo "<script>alert('已渣乱成功提交')</script>";
然后用php的header或者js跳转到提交页面
header("location:$post");
这样相当于自己刷新如汪档了一遍页面,然后用户再怎么刷新也没事
虽然用户体验不是很好,不过如果没用Ajax的话,正常提交也要刷一下的,楼主可以自己试下