-
- session_start();
- $k=$_GET['k'];
- $t=$_GET['t'];
- $allowTime = 1800;//防刷新时间
- $ip = get_client_ip();
- $allowT = md5($ip.$k.$t);
- if(!isset($_SESSION[$allowT]))
- {
- $refresh = true;
- $_SESSION[$allowT] = time();
- }elseif(time() - $_SESSION[$allowT]>$allowTime){
- $refresh = true;
- $_SESSION[$allowT] = time();
- }else{
- $refresh = false;
- }
- ?>
-
复制代码
ie6提交两次我也碰到过,大致是用图片代替submit时,图片上有个submit(),这样会提交两次,如果只是submit钮我没碰到过提交两次的情况。
现在整理一下:
方法基本上前面几位说得差不多
接收的页即2.php分为两部分,一部分处理提交过来的变量,一部分显示页面
处理变量完毕用header( "location: ".$_SERVER[ 'PHP_SELF '])跳转到自身页
本部分要做判断,如果没有post的变量就跳过。当然也可以跳到别的页面。
跳到别的页面返回时会有问题,建议做在一个php文件里。
如果上页穿过来得变量不符合要求可以强制返回
-
- <script></li>
<li>history.go(-1);</li>
<li></script>
复制代码
大体的思路。
2.php的流程
-
-
- if(isset($_POST))
- { 接收变量
- if(变量不符合要求)
- <script> history.go(-1); </script>
- else
- 操作数据
- ...
- if(操作完成)
- header( "location: ".$_SERVER[ 'PHP_SELF ']);
- }
复制代码
|