新浦京81707con > 注册购买 > 一个简单的PHP投票程序源码,PHP网上调查系统

原标题:一个简单的PHP投票程序源码,PHP网上调查系统

浏览次数:146 时间:2019-10-03

 代码如下

PHP网络考查系统
   那是二个简短的投票程序,对Yu Gang学PHP和相恋的人来讲是贰个特别不利的入门程序。在此处给我们介绍一下,希望能对情大家有着扶助。
该系统是由以下多个文件组成的:有HTML考察表单的survey.htm,落成考察作用的survey.php,记录考查项指标data.txt和著录侦查结果的survey.txt.个中data.txt和survey.txt我们得以用NOTEPAD分别创制之,并传播程序目录下。文件data.txt中存的是要扩充考查的项目,注意种种门类应占一行;而survey.txt则能够是贰个什么样内容也从不的空文件。
Survey.htm的代码能够如如下所示:
<html>
<head>
<title>survey</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="survey.php?result=1">查看结果</a>
</form>
</body>
</html>
介意文件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])                           /*反省是否同一人*/
奥门新萄京娱乐65431,      {
       echo "<center><font color=red>您已投过票了,多谢您的参加!</font></center>";
       exit;
      }

分析: 
我们使用四个文书(data.dat)来囤积投票栏目.各类栏目私吞一行. 
那样一来,便可随机参加和减去想要投票的栏目. 
咱俩再利用二个文本(votes.dat)来存款和储蓄大家的投票结果. 
并记录以来一个人投票者的IP地址,轻易的幸免一人多投. 
从而,您应该在该程序目录下活动创设多个公文data.dat和votes.dat 
程序运营进度部分 
程序运转时应该先有三个投票的HTML表单,等待投票. 
当有人在HTML表单上投票时,判别它的IP是不是为近些日子一个人投票者的IP, 
假诺此人刚刚投过票,则四个值应该相等,显示"您已投过票了,多谢您的参预!"  
纵然这个人没投过票,则多少个值不等,将它的投票写入文件(votes.dat)  
(这里获得投票者的IP方法是:Web客商机在对服务器发送央求时须要提供一个表识, 
本条表识就存款和储蓄在条件变量REMOTE_ADDLAND里,大家援用它就能够了.) 
最终是呈现投票结果,常常我们是以"条形图表 百分数"来呈现投票情形. 
因而,我们要采用三个颜色单一的矩形图形,以适应横向缩放的渴求.  
-------------------------------------------------------------------------------- 
程序代码部分 可下载程序代码 
  //投票栏目存储文件,您可更换文件名 
$data="data.dat";  
//投票结果存款和储蓄文件  
$votes="votes.dat"; 
//用以显示投票结果比例的图形文件名图形文件名,  
//用单一颜色的矩形较好,方便投票结果横向缩放,  
//自行上传到本程序目录下  
$path_img="vote.gif"; 
//投票标题 
$poll_name="您爱怜小编的哪些栏目?";  
// 以下部分不需改动 //  
//张开投票栏目文件,并以数组的款式将全部内容存在变量$dataf中备用  
$dataf=file($data);  
if ($go !=1) 
{  
//展现投票程序表单  
echo "<font color=red><i>$poll_name</i></font><br>n";  
echo "<form method=post>";  
for ($i=0; $i<=count($dataf)-1; $i )  
{  
echo "<input type=radio name="vote" value="$i"> $dataf[$i]<br>n"; }  
echo "<input type=hidden name=go value=1>";  
echo "<p><input type=Submit value=投票>";  
echo "</form>";  
echo "<a href='vote.php?result=1&go=1'>查看结果</a>";  
}  
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 "<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]|");  
}  
//写入投票者IP  
fputs($ficdest, "n$REMOTE_ADDR");  
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 )  
{  
//总结比例  
$stat[$i]=$single_vote[$i]/$tot_votes*100;  
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="$path_img" height=10 width=$stat[$i] 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>";  


?> 

<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="www.111cn.net.php?result=1">查看结果</a>
</form>
</body>
</html>

    /*假若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; /*投票成功*/
  }

您恐怕感兴趣的稿子:

  • PHP MySQL投票系统的策动和兑现共享
  • php查询操作完毕投票功用
  • 基于PHP jQuery MySql落成红蓝(顶踩)投票代码
  • PHP结合jQuery达成红蓝投票功用特效
  • 用php和jQuery来完结“顶”和“踩”的投票功效
  • PHP发布心理投票作用示例(附源码)

//survey.php

  /*写入投票结果后并出示投票结果*/
  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>";
}
?>
说明:
   在这里为了堤防一位多投是利用记录以来的一人投票者的IP的格局来贯彻的,而近日的一人投票的IP地址是WEB顾客机在对服务器发出恳求时存款和储蓄在蒙受变量REMOTE_ADDR中的.
本人也是三个初专家,关于那篇作品或者有多数谬误和不当之处接待各位建议宝贵的见识和提出。多谢!
Personal Homepage:
Email:wangyy@363.net

<?

您大概感兴趣的篇章:

  • php投票系统之增添与删除投票(管理员篇)
  • PHP MySql jQuery达成的"顶"和"踩"投票功效
  • php查询操作实现投票成效
  • PHP MySQL投票系统的统一筹算和落到实处分享
  • php在线打包程序源码
  • php获取qq客商别称和在线状态(实例深入分析)
  • php完成客商在线时间总括详解
  • 也谈php网址在间谍数总括
  • PHP jquery实时显得网址在窥探数的方式
  • 毋庸数据库电子投票考查php代码

本文由新浦京81707con发布于注册购买,转载请注明出处:一个简单的PHP投票程序源码,PHP网上调查系统

关键词: 新浦京81707con

上一篇:文艺平衡树

下一篇:没有了