一聚教程网:一个值得你收藏的教程网站

热门教程

php简单 在线投票系统 源码下载,

时间:2022-11-14 23:01:45 编辑:袖梨 来源:一聚教程网

php简单 在线投票系统 源码下载,上次要和你一家公合作他们说要我写一个简单的投票系统,但是每一个IP只能投一次,好了下面就是我写的一个最最简单的投票系统了,是用php实现的.

先来创建数据库.有两个一个记录投票次数与相关信息一个是记录IP.

CREATE TABLE IF NOT EXISTS `lj_vote` (
`id` int(8) NOT NULL auto_increment,
`v_type` int(4) default '1',
`v_caption` varchar(500) default NULL COMMENT '此处可以放图片地址也可以是文章说明',
`v_hits` int(8) NOT NULL default '0' COMMENT '投票次数',
`v_ip` text COMMENT '投票IP为唯一,永远只有一次机会',
`v_name` varchar(50) default NULL COMMENT '作品的作者',
`v_id` int(4) default NULL COMMENT '唯一编号',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312 AUTO_INCREMENT=21 ;

记录IP的数据库.

CREATE TABLE IF NOT EXISTS `lj_ip` (
`id` int(8) NOT NULL auto_increment,
`v_ip` varchar(50) default NULL,
`v_time` datetime default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312 AUTO_INCREMENT=4 ;

嗯.好了数据都准备好了我们就来看php 是怎么实现投票的吧.

$value =$_SERVER['HTTP_HOST'];
$vote1 =isset($_POST['a'])?$_POST['a']:'';
$vote2 =isset($_POST['b'])?$_POST['b']:'';
$ip =get_real_ip();
if( empty($vote1) || empty($vote2) ){
exit("");
}else{
$re =mysql_query("select v_ip from lj_ip where v_ip='$ip'") or die('error');
if( mysql_num_rows($re) ){
exit("对不起,你己经投票了,点击返回");
}else{
mysql_query("update lj_vote set v_hits=v_hits+1 where v_name='$vote1'") or die('a');
mysql_query("update lj_vote set v_hits=v_hits+1 where v_name='$vote2'") or die('b');
mysql_query("insert into lj_ip(v_ip,v_time) value('$ip','".date("Y-m-d h:i:s")."')") or die('ip');
exit("");
}
}

function show_hits($value){
$result =mysql_query("select * from lj_vote where v_name='$value'") or die('error');
return @mysql_num_rows($result);
}

function get_real_ip(){
$ip=false;
if(!empty($_SERVER["HTTP_CLIENT_IP"])){
$ip = $_SERVER["HTTP_CLIENT_IP"];
}
if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
for ($i = 0; $i < count($ips); $i++) {
if (!eregi ("^(10|172.16|192.168).", $ips[$i])) {
$ip= $ips[$i];
break;
}
}
}
return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
}

好了就OK了,投票系统不完成了,投票的htm页面我就没写了自己写一下吧.
?>

申明:本站原创转载请注明: www.111com.net

热门栏目