当前位置:首页 > PHP源码 > 列表

在线调查程序代码

发布:smiling 来源: PHP粉丝网  添加日期:2013-12-11 13:39:28 浏览: 评论:0 

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

  1. <html>  
  2. <head>  
  3. <title>在线调查程序代码</title>  
  4. </head>  
  5. <body>  
  6. <form method="post" action="survey.php">  
  7.   <p><input type="radio" value="0" name="vote">调查项目一</p>  
  8.   <p><input type="radio" name="vote" value="1">调查项目二</p>  
  9.   <p><input type="radio" name="vote" value="2">调查项目三</p>  
  10.   <p><input type="radio" name="vote" value="3">调查项目四</p>  
  11.   <p><input type="radio" name="vote" value="4">调查项目五</p>  
  12.   <p><input type="hidden" name="go"  value="1">  
  13.   <p><input type="submit" value="提交" name="b1"></p>  
  14.   <a href="www.phpfensi.com.php?result=1">查看结果</a>  
  15. </form>  
  16. </body>  
  17. </html> 
  18. //survey.php 
  19. <? 
  20. /* 
  21. 无需数据库教程在线投票调查php代码 
  22. 这是一款由php +txt文本文件做的在线调用投票系统,无需数据库支持可以完成在线用户调查功能。 
  23. */ 
  24.   $data="data.txt";  
  25.   $votes="survey.txt";  
  26.   $dataf=file($data);        /*读出调查项目文件中的项目*/  
  27.   $file_votes=fopen($votes"r");  
  28.   $line_votes=fgets($file_votes, 255);  /*读出已经记录的调查结果*/  
  29.   fclose($file_votes);  
  30.   $single_vote=explode("|"$line_votes); /* 并将数据按指定的字串切开,再将字串传回到数组变量中  */  
  31.    if ($result!=1)         /*如果已经接受了调查*/  
  32.    {  
  33.     $file_votes=file($votes"r");  
  34.     if ($remote_addr == $file_votes[1])                           /*检查是不是同一个人*/  
  35.       {  
  36.        echo "<center><font color=red>您已投过票了,谢谢您的参与!</font></center>";  
  37.        exit;  
  38.       } 
  39.     /*如果ip不重复,则执行以下程序*/  
  40.     $ficdest=fopen($votes"w");  
  41.     for ($i=0; $i<=count($dataf)-1; $i++)  
  42.       {  
  43.          if ($i == $vote)  
  44.          {                                 /*判断选择了哪个项目*/  
  45.           $single_vote[$i]+=1;  
  46.          }  
  47.              fputs($ficdest"$single_vote[$i]|"); /*将数据写回文件*/  
  48.       }  
  49.        fputs($ficdest"n$remote_addr");/* //写入投票者ip*/  
  50.     fclose($ficdest);  
  51.     $result=1; /*投票成功*/  
  52.   } 
  53.   /*写入投票结果后并显示投票结果*/  
  54.   if ($result==1)  
  55.   {  
  56.    echo "<table cellpadding=10>";  
  57.    for ($i=0; $i<=count($dataf)-1; $i++)  
  58.     {  
  59.      /*取得投票总数*/  
  60.      $tot_votes+=$single_vote[$i];  
  61.     }  
  62.    for ($i=0; $i<=count($dataf)-1; $i++)  
  63.     {  
  64.      $imag=strval($i).".gif";/*判断用哪种条形图片来显示统计结果*/  
  65.       $stat[$i]=$single_vote[$i]/$tot_votes*100;  /*计算百分比*/  
  66.      $scla=$stat[$i]*5;/*条形图和放大倍数,这里是安百分数的5倍的相素的宽度来显示的*/  
  67.      echo "<tr><td><li><font face=verdana size=2>";  
  68.      echo "$dataf[$i]</font></td><td align=left><font face=verdana size=2>";  
  69.      echo "<img src="$imag" height=20 width=$scla align=middle>&nbsp;";/*输出条形码图*/ 
  70.      printf("%.1f""$stat[$i]");  
  71.      echo "%</font></td><td align=center><font face=verdana size=2>";  
  72.      /*输出本栏目投票数*/  
  73.      echo "$single_vote[$i]</font>";  
  74.      echo "</td></tr>";  
  75.    }  
  76.    echo "</table><p>";  
  77.    echo "<font face=verdana size=2>总投票数:$tot_votes </font>";  
  78. /* 
  79. data.txt 文件 
  80. 调查项目一 
  81. 调查项目二 
  82. 调查项目三 
  83. 调查项目四 
  84. 调查项目五 
  85. */ 
  86. ?> 

Tags: 在线 调查 程序代码

分享到: