查投票库看ip是否已存,如果存在,则提示已投票,即只能投票一次
如果不存在,则ip加入

解决方案 »

  1.   

    cookie也可以,但是清楚cookie就不行了把投票过的ip记录在数据库了,有ip记录的不让投票
      

  2.   

    客户端cookie+服务器端数据库+验证码+时间段这些缺一不可!应相辅相成的使用。客户端cookie的优势:
    1 为服务器减轻负担
    2 对于拨号上网动态ip或使用代理的用户可以一样做到限制缺点:
    1 客户端可以自己选择清除cookie
    2 对于禁止第三方cookie的客户端无法写入服务器端数据库优势:
    1 客户端无法做手脚,无法清除。缺点:
    对于使用代理或动态ip的用户毫无办法。验证码用来防止自动提交程序,时间段的限制也是必须的,毕竟动态ip用户不可能永远用这个ip,下次轮到别人使用这个ip的时候也无法投票,就尴尬了。
      

  3.   


    if ( $_SERVER['HTTP_CLIENT_IP'] )
    return $_SERVER['HTTP_CLIENT_IP'];
    elseif ( $_SERVER['HTTP_X_FORWARDED_FOR'] )
    return $_SERVER['HTTP_X_FORWARDED_FOR'];
    else
    return $_SERVER['REMOTE_ADDR'];
      

  4.   

    把这个
    $ip=getenv('REMOTE_ADDR');放在include ("../checkconfig.php"); 
    mysql_query("SET NAMES UTF8"); //解决中文乱码问题  之前!
    在数据库里多建IP,存放IP信息!$sql    ="insert into research(Qu1,Qu2,Qu3,Qu4,Qu5,Qu6,Qu7,Qu8,Qu9,Qu10,Qu11,Qu12,Tu1,Tu2,Tu3,Tu4,Tu5,Tu6,Tu7,Tu8,Tu9,Tu10,ip) values ('$Qu1','$Qu2','$Qu3','$Qu4','$Qu5','$Qu6','$Qu7','$Qu8','$Qu9','$Qu10','$Qu11','$Qu12','$Tu1','$Tu2','$Tu3','$Tu4','$Tu5','$Tu6','$Tu7','$Tu8','$Tu9','$Tu10','$ip')"; 每次在存储投票信息前在数据库里抓一次IP,有的话就不让投了,就这样就OK了...
      

  5.   

    $loginip=$_SERVER["REMOTE_ADDR"];就这就可以了