澳门新葡萄京娱乐场php简单 在线投票系统 源码下载,

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

好了,html
页面的css与js都写好了下面我们来看看数据库与php程序是如何实现的吧,我们先来看看数据库结构.

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

CREATE TABLE IF NOT EXISTS `su_mon_vote` ( `id` int(11) NOT NULL
auto_increment, `v1` varchar(100) default NULL, `v2` varchar(200)
NOT NULL, `v3` varchar(200) NOT NULL, `v4` varchar(200) NOT NULL,
`v5` varchar(200) NOT NULL, `v6` varchar(200) NOT NULL, `name`
varchar(50) NOT NULL, `tel` varchar(50) NOT NULL, `email`
varchar(50) NOT NULL, `address` varchar(200) NOT NULL, `vip`
varchar(20) NOT NULL, `vdate` datetime NOT NULL, PRIMARY KEY (`id`))
ENGINE=InnoDB DEFAULT CHARSET=gb2312 AUTO_INCREMENT=6
;上面的结构是随便写的没注意数据库其它方面报.好下面我们来看看php程序是怎么判断调查的吧.

澳门新葡萄京娱乐场,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 ;

if(empty($_COOKIE[cook])){mysql_connect(‘localhost’,’root’,’mailangel’)
or die(‘database server no exists!’);mysql_select_db(‘vot’) or
die(‘database error!’);mysql_query(SET NAMES ‘gbk’);//set document
charset
encode$name=get_value(name,’post’);$tel=get_value(tel,’post’);$email=get_value(email,’post’);$add=get_value(address,’post’);$vip=get_real_ip();$date=date(Y-m-d
h:i:s);$value=$_SERVER[‘HTTP_HOST’];$array=array();for($i=1;$i=6;$i++){$v=’v’.$i;$v=get_value($v,’post’);$array[$i-1]=$v;if(empty($v)){alert(‘对不起,你还有选项未选!’,”);}}if(
strlen($name)100 || strlen($name)3 )
{alert(‘用户名长度3-20’,”);}elseif( strlen($tel)15 ||
strlen($tel)7){alert(‘请输入正确的电话号码!’,”);}elseif(
strlen($email)50 || strlen($email)10 )
{alert(‘对不起,你的邮箱地址不正确!’,”);}elseif( strlen($add)100 ||
strlen($add)10 ){alert(‘地址长度10-100字符!’,”);}$sql=Insert into
su_mon_vote(v1,v2,v3,v4,v5,v6,name,email,address,vip,vdate,tel) value(
;$sql=$sql.’.$array[0].’,’.$array[1].’,’.$array[2].’,’.$array[3].’,’.$array[4].’,’.$array[5].’,’$name’,;$sql=$sql.’$email’,’$add’,’$vip’,’$date’,’$tel’);//mysql_query($sql)
or die($sql.mysql_error());if( mysql_query($sql)){setcookie(cook,
$value, time()+7200,
/);alert(‘答题成功,谢谢你的参与!’,’index.html’);}else{alert(‘系统忙…请稍后再试’,”);}}else{print
答题失败,一人只能参加一次答题!,a href=#
onclick=history.back();点击返回/a;}

记录IP的数据库.

function get_value($para,$para2){//获取参数的值if( ‘post’==$para2
){return
addslashes(isset($_POST[$para])?$_POST[$para]:”);}else{return
addslashes(isset($_GET[$para])?$_GET[$para]:”);}}function
alert($str,$para){//提示设置函数,if( ”==
$para){exit(scriptalert(‘$str’);history.back();/script);}else{exit(scriptalert(‘$str’);location=’$para’;/script);}}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’]);}?

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(scriptalert(‘你还有未选择项目’);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(scriptalert(‘恭喜你,己成功投票’);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页面我就没写了自己写一下吧.?

申明:本站原创转载请注明:

发表评论

电子邮件地址不会被公开。 必填项已用*标注