做了一个图片上传投票的小项目,一些知识点总结

2张数据表的设计:

CREATE TABLE `vote` (
  `id` int(3) unsigned NOT NULL auto_increment,//ID
  `name` varchar(8) NOT NULL,//名称
  `content` mediumtext NOT NULL,//介绍
  `photo` varchar(150) NOT NULL,//图片
  `vote` int(3) NOT NULL default '0',//票数
  `addtime` char(10) NOT NULL,
  PRIMARY KEY  (`id`),
  KEY `vote` (`vote`)
) ENGINE=MyISAM DEFAULT CHARSET=gbk AUTO_INCREMENT=1 ;

CREATE TABLE `limit_ip` (
  `id` int(3) unsigned NOT NULL auto_increment,
  `vote_ip` varchar(15) NOT NULL,//投票者IP
  `vote_time` varchar(10) NOT NULL,//投票时间
  PRIMARY KEY  (`id`),
  KEY `vote_ip` (`vote_ip`),
  KEY `vote_time` (`vote_time`)
) ENGINE=MyISAM DEFAULT CHARSET=gbk AUTO_INCREMENT=1 ;
/*
        获取IP
*/

function getIP() {    
        $cip = getenv ( 'HTTP_CLIENT_IP' );    
        $xip = getenv ( 'HTTP_X_FORWARDED_FOR' );    
        $rip = getenv ( 'REMOTE_ADDR' );    
        $srip = $_SERVER ['REMOTE_ADDR'];    
   
        if ($cip && strcasecmp ( $cip, 'unknown' )) {    
                $onlineip = $cip;    
        } elseif ($xip && strcasecmp ( $xip, 'unknown' )) {    
                $onlineip = $xip;    
        } elseif ($rip && strcasecmp ( $rip, 'unknown' )) {    
                $onlineip = $rip;    
        } elseif ($srip && strcasecmp ( $srip, 'unknown' )) {    
                $onlineip = $srip;    
        }    
   
        preg_match ( "/[\d\.]{7,15}/", $onlineip, $match );    
        $onlineip = $match [0] ? $match [0] : 'unknown';    
   
        return $onlineip;    
}


主要代码部分:

$ip = getIP();
$sql = $mysql->sqlSelect('`ai_limit_ip`', "`vote_ip`='".$ip."'", 0, "*", "`vote_time`");
$mysql->query($sql);
$num = $mysql->recordCount();
$row = $mysql->fetchRow();
$last_time = $row['vote_time'];

$t1 = $last_time;
$t2 = time();

$days   = ($t2-$t1)/(60*60*24);
global $allow_vote_day;
if($days < $allow_vote_day){
$allow_hours = $allow_vote_day*24;      //天转化为小时数
echo '<div class="notice" style="line-height:25px; background:#FFF;">';
echo "<img src='images/cry.gif'/>真是不好意思,您还想投啊,您距离上次投票时间还不到{$allow_hours}小时咧,请等明天再来吧。";
//echo "小样,不可以刷票,你懂得,你距离上次投票时间还不到{$allow_hours}小时咧。";
echo '';
}

本文固定链接:成事博客做了一个图片上传投票的小项目,一些知识点总结
喜欢 (0)分享 (0)
(1)个小伙伴在吐槽
  1. 虽然不懂,路过,还是支持。
    化妆品排行榜2010-12-15 15:19 回复
发表我的评论
取消评论

表情     1 + 7 = ? (必填)

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址