当前位置:编程学习 > php >>

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页面我就没写了自己写一下吧.
?>

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

补充:Php教程,Php常用代码 
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,