三种方法:
1. 投票后把对方IP记住,然后再投的时候就去查询一下,如果有他的记录就提示不能投了。
2. 使用Session,每个用户在登陆的时候都有一个SessID,对方投票后,给他一个新的session变量,证明他投票过了,那么下次投就不行了。
3. 使用cookie,对方投票后,就写入他电脑的cookie,程序去读取判断他投票没有弊端:
1. 要频繁读去数据库,可能有时候存在不合理性。 但这个方法最合理
2. 对方关掉IE后重开一次再投,还能投,所以不是特别完善。
3. 清空Cookie后又能投反正你权衡利弊,自己选择哪种好了呵呵

解决方案 »

  1.   

    推荐用cookie。特别重要的投票,严禁重票用数据库的办法!
      

  2.   

    heiyeshuwu(黑夜路人) 
    说个比较无聊的话。如果用户自己修改了自己ip地址的话,是不是就不太公平了。
    如果换成记录网卡mac地址的话,那样相对公平些。
      

  3.   

    呵呵,投票本身不可能存在100%的公平性,跟生活中一样,跟克里和布什一样,只能有个相对公平,给大家一个心理安慰罢了....呵呵
    如果大家需要,参考一下我们用Flash做的投票: http://www.51ww.com 中间右边
      

  4.   

    在数据库中记录IP,提交投票的时候检查是否有相同IP投过!
      

  5.   

    说个比较无聊的话。如果用户自己修改了自己ip地址的话,是不是就不太公平了。
    如果换成记录网卡mac地址的话,那样相对公平些。
    ip地址那么容易改吗
    mac地址能通过php得到吗?
      

  6.   

    楼上的。ip地址,我一天一个ip地址,adsl的用户,注销登陆一次就是一个新ip地址。
    mac码就不能用php获取吗?
      

  7.   

    leyan728(乐言)有谁这么无聊......在狂登录ADSL
      

  8.   

    leyan728(乐言)
    PHP中怎么取得MAC,
       如果用户登录到终端服务器中,PHP怎么取用户的IP或MAC(不是终端服务器的)