1. 防止重复添加一直是一个很头疼的问题
一般都要靠将新添加数据与数据库中数据比较的办法
例如在论坛系统中,同一个用户不许发表重复的帖子
或者采取时间限制的办法,同一个用户连续两次发言间隔必须大于多少秒之类2. 跟你要去的页的属性有关
history.go(-1)
可以,但如果要返回的页面是禁止缓存或POST提交的PHP页面,就不行了
header("location='xxx.yyy'")
<script>this.locaiton="xxx.yyy"</script>
也可以,但如果 xxx.yyy 是有一堆参数的 PHP 页面,可能也不行(尤其是当你不想在地址栏显示这些参数时)
总之必须根据你的具体要求选择方法

解决方案 »

  1.   

    header("location='xxx.yyy'")
    <script>this.locaiton="xxx.yyy"</script>
    可以在添加时查找有没有重复内容的记录如果有的话则认为是重复添加
      

  2.   

    /////php
    Header("Location: planindex.php?checkdate=".$form[checkdate]);  
    /////javascript
    location.href=url;
    ////html
    function redirect($url, $message="", $delay=0)
    {
       echo "<meta http-equiv='Refresh' content='$delay; url=$url'>";
       if (!empty($message))
          echo "<div style='font-family: Arial, Sans-serif; font-size: 12pt;' align=center>$message</div>";
       die;
    }
      

  3.   

    如何避免表单的重复提交 
    作者:guestzzz 来源:phpbuilder 
    你是否遇到过“重复提交”的问题?要解决这个问题其实并不难。这里有一个简单的方法避免同一表单的重复提交。 
    首先,我们可以定义一个session变量用来保存一个表单的提交序列号。这里我定义为“$userLastAction”。然后在表单里加入一个hidden变量,把值设为$userLastAction+1: 
    <input type=Hidden name=lastAction value=<? =$userLastAction+1 ?>> 
    最后,在处理提交之前判断表单是否已被提交过: 
    if($lastAction>$userLastAction and inputIsValid(...)){ 
    $userLastAction++; // 序列号加1 
    // 处理表单数据 
    }