0

0

一个简单的PHP投票程序源码

php中文网

php中文网

发布时间:2016-06-13 12:32:48

|

1582人浏览过

|

来源于php中文网

原创

分析: 
我们利用一个文件(data.dat)来存储投票栏目.每个栏目占据一行. 
这样一来,便可随意加入和减去想要投票的栏目. 
我们再利用一个文件(votes.dat)来存储我们的投票结果. 
并纪录最近一位投票者的IP地址,简单的防止一人多投. 
所以,您应该在该程序目录下自行建立两个文件data.dat和votes.dat 
程序运行过程部分 
程序运行时应该先有一个投票的HTML表单,等待投票. 
当有人在HTML表单上投票时,判断它的IP是否为最近一位投票者的IP, 
如果此人刚刚投过票,则两个值应该相等,显示"您已投过票了,谢谢您的参与!"  
如果此人没投过票,则两个值不等,将它的投票写入文件(votes.dat)  
(这里得到投票者的IP方法是:Web客户机在对服务器发送请求时需要提供一个表识, 
这个表识就存储在环境变量REMOTE_ADDR里,我们引用它就可以了.) 
最后是显示投票结果,通常我们是以"条形图表+百分数"来显示投票情况. 
所以,我们要选择一个颜色单一的矩形图形,以适应横向缩放的要求.  
-------------------------------------------------------------------------------- 
程序代码部分 可下载程序代码 
  //投票栏目存储文件,您可更改文件名 
$data="data.dat";  
//投票结果储存文件  
$votes="votes.dat"; 
//用以显示投票结果比例的图形文件名图形文件名,  
//用单一颜色的矩形较好,方便投票结果横向缩放,  
//自行上传到本程序目录下  
$path_img="vote.gif"; 
//投票标题 
$poll_name="您喜欢我的哪个栏目?";  
// 以下部分不需改动 //  
//打开投票栏目文件,并以数组的形式将全部内容存在变量$dataf中备用  
$dataf=file($data);  
if ($go !=1) 
{  
//显示投票程序表单  
echo "$poll_name
n";  
echo "

";  
for ($i=0; $i{  
echo " $dataf[$i]
n"; }  
echo "";  
echo "

";  
echo "

UQ云商B2B2C系统
UQ云商B2B2C系统

UQCMS云商是一款B2B2C电子商务软件 ,非常适合初创的创业者,个人及中小型企业。程序采用PHP+MYSQL,模板采用smarty模板,二次开发,简单方便,无需学习其他框架就可以自行模板设计。永久免费使用,操作简单,安全稳定。支持PC+WAP+微信三种浏览方式,支持微信公众号。

下载
";  
echo "查看结果";  
}  
else  
{  
// $go==1 表示有人投票, // 现在将投票情况以另外一种方式从文件中读出 $file_votes=fopen($votes, "r");  
$line_votes=fgets($file_votes, 255);  
fclose($file_votes); 
// 并将数据按指定的字串切开,再将字串传回到阵列变量中  
$single_vote=explode("|", $line_votes);  
//准备写入投票结果  
if ($result!=1)  
{  
//检查IP地址是否重复  
$file_votes=file($votes, "r");  
if ($REMOTE_ADDR == $file_votes[1])  
{  
echo "
您已投过票了,谢谢您的参与!     
"; 
exit; 

//如果IP不重复,则执行以下程序  
$ficdest=fopen($votes, "w");  
for ($i=0; $i{  
//判断投了那一个栏目  
if ($i == $vote)  
{  
$single_vote[$i]+=1; 
}  
//将数据写回文件  
fputs($ficdest, "$single_vote[$i]|");  
}  
//写入投票者IP  
fputs($ficdest, "n$REMOTE_ADDR");  
fclose($ficdest); 
$result=1; //投票成功 
}  
//写入投票结果后并显示投票结果  
if ($result==1)  
{ echo "";  
for ($i=0; $i{  
//取得投票总数 
$tot_votes+=$single_vote[$i];  
}  
for ($i=0; $i{  
//计算百分比  
$stat[$i]=$single_vote[$i]/$tot_votes*100;  
echo "";  
}  
echo "
  • ";  
    echo "$dataf[$i]
  • ";  
    echo "@@##@@ ";  
    //输出百分数 printf("%.1f", "$stat[$i]");  
    echo "%
    "; //输出本栏目投票数  
    echo "$single_vote[$i]
    "; echo "

    ";  
    echo "总投票数:$tot_votes ";  


    ?> 

    一个简单的PHP投票程序源码
    PHP速学教程(入门到精通)
    PHP速学教程(入门到精通)

    PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

    下载

    相关标签:

    php

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

    相关专题

    更多
    正则表达式 删除
    正则表达式 删除

    本专题整合了正则表达式删除教程大全,阅读专题下面的文章了解更多详细教程。

    0

    2026.01.08

    java 元空间 永久代
    java 元空间 永久代

    本专题整合了java中元空间和永久代的区别,阅读专题下面的文章了解更多详细内容。

    1

    2026.01.08

    java 永久代和元空间
    java 永久代和元空间

    本专题整合了java中元空间和永久代的区别,阅读专题下面的文章了解更多详细内容。

    0

    2026.01.08

    java成品网站源码资源大全
    java成品网站源码资源大全

    本专题整合了java成品网站源码相关内容,阅读专题下面的文章了解更多详细内容。

    2

    2026.01.08

    java过滤器教程大全
    java过滤器教程大全

    本专题整合了java过滤器相关教程,阅读专题下面的文章了解更多详细内容。

    3

    2026.01.08

    作业帮网页版入口地址大全
    作业帮网页版入口地址大全

    本专题整合了作业帮网页版地址整理,阅读专题下面的文章了解更多详细内容。

    2

    2026.01.08

    学习通网页版入口地址大全
    学习通网页版入口地址大全

    本专题整合了学生通网页版入口相关整理,阅读专题下面的文章了解更多详细内容。

    4

    2026.01.08

    C++ 高性能计算与并行编程
    C++ 高性能计算与并行编程

    本专题专注于 C++ 在高性能计算(HPC)与并行编程中的应用,涵盖多线程、并发数据处理、OpenMP、MPI、GPU加速等技术。通过实际案例,帮助开发者掌握 如何利用 C++ 进行大规模数据计算和并行处理,提高程序的执行效率,适应高性能计算与数据密集型应用场景。

    6

    2026.01.08

    C++ 高性能计算与并行编程
    C++ 高性能计算与并行编程

    本专题专注于 C++ 在高性能计算(HPC)与并行编程中的应用,涵盖多线程、并发数据处理、OpenMP、MPI、GPU加速等技术。通过实际案例,帮助开发者掌握 如何利用 C++ 进行大规模数据计算和并行处理,提高程序的执行效率,适应高性能计算与数据密集型应用场景。

    0

    2026.01.08

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    PostgreSQL 教程
    PostgreSQL 教程

    共48课时 | 6.8万人学习

    Git 教程
    Git 教程

    共21课时 | 2.5万人学习

    Django 教程
    Django 教程

    共28课时 | 2.9万人学习

    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号