php简单 在线投票系统 源码下载,
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 是怎么实现投票的吧.
<?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("<script>alert('你还有未选择项目');history.back();</script>"); } else { $re = mysql_query("select v_ip from lj_ip where v_ip='$ip'") or die('error'); if (mysql_num_rows($re)) { exit("对不起,你己经投票了,<a href=# onclick=\"history.back();\">点击返回</a>"); } 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("<script>alert('恭喜你,己成功投票');history.back();</script>"); } } 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页面我就没写了自己写一下吧.
教程链接:http://www.phprm.com/code/d6dac74c0682e7521e941965af4a2bf2.html
随意转载~但请保留教程地址★