将作品的ID也保存再cookie里if(isset($poll) && strcmp($_COOKIE[pollid],$id)==0)    //用cookie检测是否已经投过票了

   echo "您已经投过票了,谢谢您的参与!返回调查首页。"; 
   exit();
}//增加该作品的票数
//先从数据库里得到$nums的值
$nums=$nums+1;
mysql_query("update table_name set counts=$nums where id=$id");
//从未投过票,设定cookie
setcookie("poll","voted",time()+60);
setcookie("pollid","$id",time()+60);
header("location:index.php");
exit();

解决方案 »

  1.   

    上面那好象有点数据覆盖的BUG,用下面这个try一下
    if(isset($poll) && in_array($id,$_COOKIE[pollid])    //用cookie检测是否已经投过票了

       echo "您已经投过票了,谢谢您的参与!返回调查首页。"; 
       exit();
    }//增加该作品的票数
    //先从数据库里得到$nums的值
    $nums=$nums+1;
    mysql_query("update table_name set counts=$nums where id=$id");
    //从未投过票,设定cookie
    setcookie("poll","voted",time()+60);
    setcookie("pollid[]","$id",time()+60);
    header("location:index.php");
    exit();