无需数据库在线投票调查php代码


Posted in PHP onJuly 20, 2016

这是一款由php +txt文本文件做的在线调用投票系统,无需数据库支持可以完成在线用户调查功能,具体内容如下

<html> 
<head> 
<title>在线调查程序代码</title> 
</head> 
<body> 
<form method="post" action="survey.php"> 
 <p><input type="radio" value="0" name="vote">调查项目一</p> 
 <p><input type="radio" name="vote" value="1">调查项目二</p> 
 <p><input type="radio" name="vote" value="2">调查项目三</p> 
 <p><input type="radio" name="vote" value="3">调查项目四</p> 
 <p><input type="radio" name="vote" value="4">调查项目五</p> 
 <p><input type="hidden" name="go" value="1"> 
 <p><input type="submit" value="提交" name="b1"></p> 
 <a href="#">查看结果</a> 
</form> 
</body> 
</html> 
//survey.php 
<? 
/* 
无需数据库教程在线投票调查php代码 
这是一款由php +txt文本文件做的在线调用投票系统,无需数据库支持可以完成在线用户调查功能。 
*/ 
 $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 "<center><font color=red>您已投过票了,谢谢您的参与!</font></center>"; 
    exit; 
   } 
  /*如果ip不重复,则执行以下程序*/ 
  $ficdest=fopen($votes, "w"); 
  for ($i=0; $i<=count($dataf)-1; $i++) 
   { 
     if ($i == $vote) 
     {                 /*判断选择了哪个项目*/ 
     $single_vote[$i]+=1; 
     } 
       fputs($ficdest, "$single_vote[$i]|"); /*将数据写回文件*/ 
   } 
    fputs($ficdest, "n$remote_addr");/* //写入投票者ip*/ 
  fclose($ficdest); 
  $result=1; /*投票成功*/ 
 } 
 /*写入投票结果后并显示投票结果*/ 
 if ($result==1) 
 { 
  echo "<table cellpadding=10>"; 
  for ($i=0; $i<=count($dataf)-1; $i++) 
  { 
   /*取得投票总数*/ 
   $tot_votes+=$single_vote[$i]; 
  } 
  for ($i=0; $i<=count($dataf)-1; $i++) 
  { 
   $imag=strval($i).".gif";/*判断用哪种条形图片来显示统计结果*/ 
   $stat[$i]=$single_vote[$i]/$tot_votes*100; /*计算百分比*/ 
   $scla=$stat[$i]*5;/*条形图和放大倍数,这里是安百分数的5倍的相素的宽度来显示的*/ 
   echo "<tr><td><li><font face=verdana size=2>"; 
   echo "$dataf[$i]</font></td><td align=left><font face=verdana size=2>"; 
   echo "<img src="$imag" height=20 width=$scla align=middle> ";/*输出条形码图*/ 
   printf("%.1f", "$stat[$i]"); 
   echo "%</font></td><td align=center><font face=verdana size=2>"; 
   /*输出本栏目投票数*/ 
   echo "$single_vote[$i]</font>"; 
   echo "</td></tr>"; 
  } 
  echo "</table><p>"; 
  echo "<font face=verdana size=2>总投票数:$tot_votes </font>"; 
} 
/* 
data.txt 文件 
调查项目一 
调查项目二 
调查项目三 
调查项目四 
调查项目五 
*/ 
?>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
php minixml详解
Jul 19 PHP
php去除换行(回车换行)的三种方法
Mar 26 PHP
PHP中构造函数和析构函数解析
Oct 10 PHP
PHP模板引擎smarty详细介绍
May 26 PHP
基于PHP技术开发客服工单系统
Jan 06 PHP
php文件缓存方法总结
Mar 16 PHP
浅谈PHP Cookie处理函数
Jun 10 PHP
mac系统下为 php 添加 pcntl 扩展
Aug 28 PHP
PHP实现更改hosts文件的方法示例
Aug 08 PHP
PHP简单实现图片格式转换(jpg转png,gif转png等)
Oct 30 PHP
详解阿里云视频直播PHP-SDK接入教程
Jul 09 PHP
PHP7 windows支持
Mar 09 PHP
thinkPHP2.1自定义标签库的导入方法详解
Jul 20 #PHP
php自定义函数实现二维数组排序功能
Jul 20 #PHP
Ajax提交表单时验证码自动验证 php后端验证码检测
Jul 20 #PHP
php使用get_class_methods()函数获取分类的方法
Jul 20 #PHP
PHP+Ajax验证码验证用户登录
Jul 20 #PHP
PHP+Ajax实现验证码的实时验证
Jul 20 #PHP
php+ajax注册实时验证功能
Jul 20 #PHP
You might like
解析php做推送服务端实现ios消息推送
2013/07/01 PHP
PHP实现把数字ID转字母ID
2013/08/12 PHP
Laravel 4 初级教程之安装及入门
2014/10/30 PHP
PHP实现恶意DDOS攻击避免带宽占用问题方法
2015/05/27 PHP
PHP strip_tags() 去字符串中的 HTML、XML 以及 PHP 标签的函数
2016/05/22 PHP
php无限级分类实现方法分析
2016/10/19 PHP
php5.6.x到php7.0.x特性小结
2019/08/17 PHP
JS去除字符串的空格增强版(可以去除中间的空格)
2009/08/26 Javascript
JavaScript 密码强度判断代码
2009/09/05 Javascript
JavaScript DOM 学习第九章 选取范围的介绍
2010/02/19 Javascript
Jquery异步请求数据实例代码
2011/12/28 Javascript
dreamweaver 8实现Jquery自动提示
2014/12/04 Javascript
JavaScript数据结构学习之数组、栈与队列
2017/05/02 Javascript
javascript 判断一个对象为数组的方法
2017/05/03 Javascript
jQuery插件select2利用ajax高效查询大数据列表(可搜索、可分页)
2017/05/19 jQuery
微信小程序新增的拖动组件movable-view使用教程
2017/05/20 Javascript
Vue入门之数量加减运算操作示例
2018/12/11 Javascript
Django+vue跨域问题解决的详细步骤
2019/01/20 Javascript
JS中如何轻松遍历对象属性的方式总结
2019/08/06 Javascript
React学习之JSX与react事件实例分析
2020/01/06 Javascript
Angular+ionic实现折叠展开效果的示例代码
2020/07/29 Javascript
Vue——解决报错 Computed property &quot;****&quot; was assigned to but it has no setter.
2020/12/19 Vue.js
[02:08]什么藏在DOTA2 TI9“小紫本”里?斧王历险记告诉你!
2019/05/17 DOTA
Python3实现连接SQLite数据库的方法
2014/08/23 Python
Python字符串逐字符或逐词反转方法
2015/05/21 Python
python下MySQLdb用法实例分析
2015/06/08 Python
Python 数据处理库 pandas进阶教程
2018/04/21 Python
详解用Python进行时间序列预测的7种方法
2020/03/13 Python
利用python控制Autocad:pyautocad方式
2020/06/01 Python
解决使用Pandas 读取超过65536行的Excel文件问题
2020/11/10 Python
Dr. Martens马汀博士官网:马丁靴始祖品牌
2016/10/15 全球购物
销售心得体会
2014/01/02 职场文书
初婚初育证明
2014/01/14 职场文书
数学兴趣小组活动总结
2014/07/08 职场文书
幼儿园六一主持词开场白
2015/05/28 职场文书
十个Python自动化常用操作,即拿即用
2021/05/10 Python