我觉得你的问题中缺陷,比如"调用header('Location : file2.php')返回file1.php",我觉得那是不可能的,所以,请你先对自己要问的问题负责,然后才能让大家关注你的问题.

解决方案 »

  1.   

    1你可以使用session做一个防刷.
    2因为这两个命令本来就没有什么本质的区别.
    如果你对效率要求的那么高就用session做一个防刷吧.
      

  2.   

    问题更正声明:
    header('Location:file2.php')应该是header('Location:file1.php')
    感谢telescope的批评指正
    -----------问题修正为-----------------------------------------1、header('Location : file1.php')
    逻辑:file1.php页面提交表单至file2.php处理后,调用header('Location : file1.php')返回file1.php后,你如果点击刷新按钮,在不弹出是否再次提交表单之类询问窗口的情况下,前面提交的表单会再次被提交!
    2、require('file1.php')
    require除一般用于实现与编译外部文件外,也可以变相实现页面跳转功能,但问题基本上和上面一样
    3、echo('<script>self.location="file1.php"</script>')
    这样做会消除前页面的表单会话变量,但是严重影响了执行效率:增加了一次客户端/服务器通话
      

  3.   

    感谢美洲狮。session防刷或是其它防刷可能还是有缺陷。现在觉得Asp(vbscript)中的response.redirect真是天使啊!