百科 教育 动画 游戏 博览 网址 金融 搜搜 资料 新闻
触屏版

close ◇ 读取数据,请稍候 Loading...

.: Welcome to flymote.com [flymot.com] :.

网页太慢?试试: 或 [ 刷新 ]




  »

◆ 其它资料:.
第九套广播体操 分享(1318)
佳木斯快乐舞步视频分享(2060)
缩略图处理函数模块(2082)
投票功能模块(2391)
五行健康操 分享(2454)
纯PHP编写的PHP 简易中文分词(SCWS) sqlite词典工具(2865)
Flash网上投票系统 PHP李茂祥修改版 含flash源文件(4398)
读写 ini 文件的类(5364)
RSSLite RSS处理类(5380)
文件分割分卷的程序(5390)

投票功能模块

2009-01-30   李茂祥      阅读: 2391   【本类别其它资料】 【资料库首页
上一篇 收藏 评论 打印 收藏夹 发布 下一篇

实现投票的功能,很简单但是很实用的;支持IP控制投票(一个IP投票一次);一般投票(直接投票);使用文件来存储投票数据
〖投票功能函数〗

demo:
//初始化部分
$end_date=time()+36000;//投票的结束时间  Unix 时间戳
$limit_ip = 0; //不限制IP,限制IP就设1
require("vote_ip_limit.inc");//就是这个功能模块,将代码保存为一个文件
//调用部分
echo round($array_vote_ip_limit[1]/($array_vote_ip_limit[1]+$array_vote_ip_limit[0])*100,2)."%"; //这个例子是显示投票为1的票数占全部投票的百分比的;
//$array_vote_ip_limit就是投票数的数值数组(固定的变量),以投票选项值为键,以投票数为值;如$array_vote_ip_limit[1]表示投票选项值为1的投票数目
//投票部分
echo '<a href="?action_vote_do=1"><div align="center" class="style6">支持 </div><a href="?action_vote_do=0"><div align="center" class="style6">反对</div>';//action_vote_do是固定的GET变量,其值就是投票的选项值
//不限制IP 保存的文件noneip在当前php的文件目录下,每行格式是:投票的选项值---投票数目
//限制IP 保存的文件ip也在当前php的文件目录下,每行格式是:投票IP---投票的选项值


<?php 
//
//end_date 结束时间  Unix 时间戳
if (!isset($end_date))
$end_date mktime(0001172019);
$stop 0;
if (!isset(
$limit_ip))
$limit_ip 1//限制IP

//array_vote_ip_limit 是结果的统计
$array_vote_ip_limit = array();

if (
time() > $end_date) {
 
$stop 1;
 echo 
"<script>alert('本活动已经截止,谢谢关注!');</script>";
}
//$_GET['action_vote_do'] 是投票的数据:   ?action_vote_do=XXX
$ip $_SERVER['REMOTE_ADDR'];
if (
$limit_ip){
 if (
file_exists('ip')) $ips file("ip"); //each line : ip---value
}else
 if (
file_exists('noneip')) $ips file("noneip");//each line : value---count

if (isset($ips)) {
   foreach(
$ips as $key =>$temp) {
    
$a explode("---",$temp);
    if (
$limit_ip && $ip == $a[0]) $found true;
    else 
$found false
    if (
$limit_ip && isset($a[1]))
     
$array_vote_ip_limit[trim($a[1])]++;
    elseif (!
$limit_ip)
    
$array_vote_ip_limit[trim($a[0])] = intval($a[1]);
   };
   if (isset(
$_GET['action_vote_do']) && !$stop ){//投票
    
if (!$limit_ip){
     @
$array_vote_ip_limit[trim($_GET['action_vote_do'])] ++;
     
$a "";
     foreach (
$array_vote_ip_limit as $key =>$temp$a .= "$key---$temp".chr(10); 
    }
    if (
$found === false && $limit_ip)
     
file_put_contents("ip",$ip."---".trim($_GET['action_vote_do']).chr(10),FILE_APPEND);
    elseif (
$found == true) echo "<script>alert('您已经投过票了,不能再投票,谢谢关注!');</script>";
    else 
file_put_contents("noneip",$a);
  }
}elseif (isset(
$_GET['action_vote_do']) && !$stop)
 if (
$limit_ipfile_put_contents("ip",$ip."---".trim($_GET['action_vote_do']).chr(10),FILE_APPEND);
 else  
file_put_contents("noneip",trim($_GET['action_vote_do'])."---1".chr(10),FILE_APPEND);
?>
责任编辑: 李茂祥

【最近的搜索】:

上一篇 收藏 评论 打印 收藏夹 发布 下一篇
平均得分 0, 共 0 人评分
1 2 3 4 5 6 7 8 9 10
CopyRight(c) 2007 - 2017 All Rights Reserved  【赣ICP备12001042号】
触屏版 | Archiver 20171213 17:21 | 简介 | 帮助 | 留言 | 关于 | 360网站安全检测平台