php语言 投票,PHP语言之PHP编写的网上调查投票系统

本文主要向大家介绍了PHP语言之PHP编写的网上调查投票系统,通过具体的内容向大家展示,希望对大家学习php语言有所帮助。

注意文件data.txt中的调查项目与上面的调查项目在个数和排列顺序必须保持一致,否则会出错或调查的结果不准确。同时为了将调查结果显示成条形图形式,应该准备若干种不同颜色的条形图片。如:0.gif,1.gif,2.gif,3.gif,4.gif等。

以下是实现调查功能的survey.php代码:

以下为引用的内容:

data="data.txt";

votes="survey.txt";

dataf=file(data);        /*读出调查项目文件中的项目*/

file_votes=fopen(votes, "r");

line_votes=fgets(file_votes, 255);  /*读出已经记录的调查结果*/

fclose(file_votes);

single_vote=explode("|", line_votes); /* 并将数据按指定的字串切开,再将字串传回到数组变量中  */

if (result!=1)         /*如果已经接受了调查*/

{

file_votes=file(votes, "r");

if (REMOTE_ADDR == file_votes[1])                           /*检查是不是同一个人*/

{

echo "您已投过票了,谢谢您的参与!

";

exit;

}

/*如果IP不重复,则执行以下程序*/

ficdest=fopen(votes, "w");

for (i=0; i<=count(dataf)-1; i++)

{

if (i == vote)

{                                 /*判断选择了哪个项目*/ Chinaz.com

single_vote+=1;

}

fputs(ficdest, "single_vote|"); /*将数据写回文件*/

}

fputs(ficdest, "\nREMOTE_ADDR");/* //写入投票者IP*/

fclose(ficdest);

result=1; /*投票成功*/

}

/*写入投票结果后并显示投票结果*/

if (result==1)

{

echo "

";

for (i=0; i<=count(dataf)-1; i++)

{

/*取得投票总数*/

tot_votes+=single_vote;

}

for (i=0; i<=count(dataf)-1; i++)

{

imag=strval(i).".gif";/*判断用哪种条形图片来显示统计结果*/

stat=single_vote/tot_votes*100;  /*计算百分比*/

scla=stat*5;/*条形图和放大倍数,这里是安百分数的5倍的相素的宽度来显示的*/

echo "";

}

echo "";

echo "dataf";

echo "

%5C%22imag%5C%22 ";/*输出条形码图*/ 

printf("%.1f", "stat");

echo "%";

/*输出本栏目投票数*/

echo "single_vote";

echo "

";

echo "总投票数:tot_votes";

}

?>

说明:

在这里为了防止一人多投是采用记录最近的一位投票者的IP的方法来实现的,而最近的一位投票的IP地址是WEB客户机在对服务器发出请求时存储在环境变量REMOTE_ADDR中的。

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言PHP频道!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值