建立两个表 ipvote thread $id=$_GET['id']; $ip=get_ip(); $rs=mysql_query(" INSERT INTO ipvote VALUE($id,$ip,1) "); if($rs) mysql_query(" UPDATE thread SET count=count+1 WHERE id=$id "); else echo "你已经投过票了!";大概意思就这样。
文章表: articleId title content投票表: id articleId IP count 查投票表,如果存在IP和articleId相同的,则说明已经投过票了 你可以把这两个字段设成UNIQUE索引,在查询的时候执行: INSERT IGNORE INTO 投票表 SET articleId='文章ID',IP='IP地址' ON DUPLICATE KEY UPDATE count=count+1
建立两个表 ipvote thread $id=$_GET['id']; $ip=get_ip(); $rs=mysql_query(" INSERT INTO ipvote VALUE($id,$ip,1) "); if($rs) mysql_query(" UPDATE thread SET count=count+1 WHERE id=$id "); else echo "你已经投过票了!"; 大概意思就这样。 我使用了这个方法,还是不行啊
如果是网吧或者公司或其他的局域网呢?
如果是PPPOE的动态拨号呢?
我只想一个IP对一个帖子只能投票一次
不管是网吧或者公司或其他的局域网或者是PPPOE的动态拨号
我是新手,能说清楚点吗?
1.投票的主题表
2.投票的选项
3.记录表
在投票前,先取得当前的ip,判断该文章是否有该ip记录。若无,可以投票,否则,提示已投票
202.201.1.1|202.201.1.2|202.201.1.3| ... ...字符串用explode( '|', $string )返回一个数组,然后in_array()判断是否数组里头已经存储了当前用户的IP地址!
$id=$_GET['id'];
$ip=get_ip();
$rs=mysql_query(" INSERT INTO ipvote VALUE($id,$ip,1) ");
if($rs)
mysql_query(" UPDATE thread SET count=count+1 WHERE id=$id ");
else echo "你已经投过票了!";大概意思就这样。
articleId title content投票表:
id articleId IP count
查投票表,如果存在IP和articleId相同的,则说明已经投过票了
你可以把这两个字段设成UNIQUE索引,在查询的时候执行:
INSERT IGNORE INTO 投票表 SET articleId='文章ID',IP='IP地址' ON DUPLICATE KEY UPDATE count=count+1
$id=$_GET['id'];
$ip=get_ip();
$rs=mysql_query(" INSERT INTO ipvote VALUE($id,$ip,1) ");
if($rs)
mysql_query(" UPDATE thread SET count=count+1 WHERE id=$id ");
else echo "你已经投过票了!"; 大概意思就这样。
我使用了这个方法,还是不行啊