background image

  </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>&nbsp;";/*输出条形码图*/
  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>"; } ?>
  说明: 在这里为了防止一人多投是采用记录最近的一位投票者的 IP 的方法来实现的,
而最近的一位投票的 IP 地址是 WEB 客户机在对服务器发出请求时存储在环境变量
REMOTE_ADDR 中的. 我也是一个初学者,关于这篇文章可能有许多错误和不当之处欢
迎各位提出宝贵的意见和建议。谢谢!