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
随意转载~但请保留教程地址★