無需數(shù)據(jù)庫在線投票調(diào)查php代碼

字號:


    這是一款由php +txt文本文件做的在線調(diào)用投票系統(tǒng),無需數(shù)據(jù)庫支持可以完成在線用戶調(diào)查功能,具體內(nèi)容如下:
    <html> 
    <head> 
    <title>在線調(diào)查程序代碼</title> 
    </head> 
    <body> 
    <form method="post" action="survey.php"> 
     <p><input type="radio" value="0" name="vote">調(diào)查項(xiàng)目一</p> 
     <p><input type="radio" name="vote" value="1">調(diào)查項(xiàng)目二</p> 
     <p><input type="radio" name="vote" value="2">調(diào)查項(xiàng)目三</p> 
     <p><input type="radio" name="vote" value="3">調(diào)查項(xiàng)目四</p> 
     <p><input type="radio" name="vote" value="4">調(diào)查項(xiàng)目五</p> 
     <p><input type="hidden" name="go" value="1"> 
     <p><input type="submit" value="提交" name="b1"></p> 
     <a href="#">查看結(jié)果</a> 
    </form> 
    </body> 
    </html> 
    //survey.php 
    <? 
    /* 
    無需數(shù)據(jù)庫教程在線投票調(diào)查php代碼 
    這是一款由php +txt文本文件做的在線調(diào)用投票系統(tǒng),無需數(shù)據(jù)庫支持可以完成在線用戶調(diào)查功能。 
    */ 
     $data="data.txt"; 
     $votes="survey.txt"; 
     $dataf=file($data);    /*讀出調(diào)查項(xiàng)目文件中的項(xiàng)目*/ 
     $file_votes=fopen($votes, "r"); 
     $line_votes=fgets($file_votes, 255); /*讀出已經(jīng)記錄的調(diào)查結(jié)果*/ 
     fclose($file_votes); 
     $single_vote=explode("|", $line_votes); /* 并將數(shù)據(jù)按指定的字串切開,再將字串傳回到數(shù)組變量中 */ 
      if ($result!=1)     /*如果已經(jīng)接受了調(diào)查*/ 
      { 
      $file_votes=file($votes, "r"); 
      if ($remote_addr == $file_votes[1])              /*檢查是不是同一個(gè)人*/ 
       { 
        echo "<center><font color=red>您已投過票了,謝謝您的參與!</font></center>"; 
        exit; 
       } 
      /*如果ip不重復(fù),則執(zhí)行以下程序*/ 
      $ficdest=fopen($votes, "w"); 
      for ($i=0; $i<=count($dataf)-1; $i++) 
       { 
         if ($i == $vote) 
         {                 /*判斷選擇了哪個(gè)項(xiàng)目*/ 
         $single_vote[$i]+=1; 
         } 
           fputs($ficdest, "$single_vote[$i]|"); /*將數(shù)據(jù)寫回文件*/ 
       } 
        fputs($ficdest, "n$remote_addr");/* //寫入投票者ip*/ 
      fclose($ficdest); 
      $result=1; /*投票成功*/ 
     } 
     /*寫入投票結(jié)果后并顯示投票結(jié)果*/ 
     if ($result==1) 
     { 
      echo "<table cellpadding=10>"; 
      for ($i=0; $i<=count($dataf)-1; $i++) 
      { 
       /*取得投票總數(shù)*/ 
       $tot_votes+=$single_vote[$i]; 
      } 
      for ($i=0; $i<=count($dataf)-1; $i++) 
      { 
       $imag=strval($i).".gif";/*判斷用哪種條形圖片來顯示統(tǒng)計(jì)結(jié)果*/ 
       $stat[$i]=$single_vote[$i]/$tot_votes*100; /*計(jì)算百分比*/ 
       $scla=$stat[$i]*5;/*條形圖和放大倍數(shù),這里是安百分?jǐn)?shù)的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><font face=verdana size=2>"; 
       /*輸出本欄目投票數(shù)*/ 
       echo "$single_vote[$i]</font>"; 
       echo "</td></tr>"; 
      } 
      echo "</table><p>"; 
      echo "<font face=verdana size=2>總投票數(shù):$tot_votes </font>"; 
    } 
    /* 
    data.txt 文件 
    調(diào)查項(xiàng)目一 
    調(diào)查項(xiàng)目二 
    調(diào)查項(xiàng)目三 
    調(diào)查項(xiàng)目四 
    調(diào)查項(xiàng)目五 
    */ 
    ?> 
    以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助