页面很简单:
<form action="" method="post">
<input type="submit"/>
</form>
action为空,就是他自己。1、第一次打开这个页面时,是get请求;
2、当我点击了submit,就post请求他自己;
3、这个文件返回了结果,当然,显示的还是他自己;
4、此刻,我再点刷新,提示是否重复提交表单?难道他不认为这次的刷新还是应该以get请求吗?如何让它在post以后,点击刷新,然他仍然以get方式请求他自己?【注】:action必须提交到他自己,而不能是另一个文件。

解决方案 »

  1.   

    我观察到我这个页面的http信息是:
    connection = keep-alive
    我要如何用php代码只为这个页面断掉这个长连接?但是不能修改服务器的全局设置。这是个猜想,首先我暂时不懂如何断掉长连接,其次,我担心就算断掉了长连接,之前的session是否还有效?我仍然希望记住这个访客连接。
      

  2.   

    post后刷新都会询问是否再post
    post能改成get么?
      

  3.   

    设定提交标识,可以用COOKIE来实现.
    写个函数控制FORM的提交: 
    <form action="" method="post"
     onsubmit="form_submit(<?php echo isset($_COOKIE['cookie'])?$_COOKIE['cookie']?'' ;?>)">
     // 这个COOKIE在第一次POST过后生成.
    ....
    <script>
     function form_submit(cookie)
     {
        return cookie==''?true:false; 
       // 不存在COOKIE提交,否则不提交..
     }
    </script>
    看看这个思路行不行..
      

  4.   

    你好,热心肠儿,又是你,呵呵。我正在寻找使用php的header函数来控制将http1.1协议的长连接keep-alive断掉的方法,呵呵。
      

  5.   

    找到解决问题的最佳方法了首先断掉长连接行不通:
    我设置了<?php header('connection: close')?>,并监测到的确没有保持长连接了,但是刷新后仍然提示重复提交表单。我恍然大悟到,改页面的request= "POST ****.php HTTP/1.1",这个是不会变的,看来修改长连接的方式行不通。
    为能想到唯一可能的方式就是header跳转到他自己了。header('location: 他自己的文件名'); //成功!!!!!!!!!!!!!!!!!!!!
    Oh Yeah!!!!!
      

  6.   

    啊?提交后自动header?我还以为你要先显示一些内容
      

  7.   

    <?php
    if($_SERVER['REQUEST_METHOD']=='POST'){
    header("location: /test/post2get.php");
    }
    ?>
    <form action="" method="post">
    <input type="submit"/>
    </form>补充一点,为了配合SEO,最好给每次跳转找一个合适的理由,但最好不要是302跳转
    到底用什么返回代码,需要研究研究。200就挺好,那么有其他更合适的吗?
      

  8.   

    页面POST执行完成以后. 在PHP使用JS重新访问本页面.history.go(-1) 或者location.href
    可以做到你想到的结果
      

  9.   

    form提交后, 
    如果验证成功,就header到某页面(可以是同一个php文件但是显示成功信息),
    如果不成功,继续显示原form和错误信息这个是很多现有php软件的做法
      

  10.   

    我的老天爷啊……这个问题如果不是纯粹的钻牛角尖的话,需要这么做吗?你的action不可以是另外一个doSomething.php吗?然后在doSomething里处理完后再redirect回来吗?你把前台和后台混在一起有什么好处啊?
      

  11.   

    就是这个意思!order.php就是order.php,我自称其为“多态”,可能临时仅显示一次成功消息,可能显示错误并重新填写表单页面,也可能显示用户当前的order信息。但是内容模板,已经单独分离出来了,这样完全符合逻辑,数据,呈现分离,非常好,而且非常健壮。