這是一個簡單的投票程式,對於剛學PHP和朋友來說是一個很不錯的入門程式。在這裡給大家介紹一下,希望能對朋友們有所協助。
該系統是由以下四個檔案組成的:有HTML調查表單的survey.htm,實現調查功能的survey.php,記錄調查項目的data.txt和記錄調查結果的survey.txt.其中data.txt和survey.txt我們可以用NOTEPAD分別建立之,並傳到程式目錄下。檔案data.txt中存的是要進行調查的項目,注意每個項目應佔一行;而survey.txt則可以是一個什麼內容也沒有的空檔案。
Survey.htm的代碼可以如如下所示:
以下為引用的內容:
survey
注意檔案data.txt中的調查項目與上面的調查項目在個數和排列順序必須保持一致,否則會出錯或調查的結果不準確。同時為了將調查結果顯示成橫條圖形式,應該準備若干種不同顏色的橫條圖片。如:0.gif,1.gif,2.gif,3.gif,4.gif等。
以下是實現調查功能的survey.php代碼:
以下為引用的內容:
您已投過票了,謝謝您的參與!"; 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 "
"; 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 "
| "; echo "$dataf[$i] |
"; echo " ";/*輸出條碼圖*/ printf("%.1f", "$stat[$i]"); echo "% |
"; /*輸出本欄目投票數*/ echo "$single_vote[$i]"; echo " |
"; } echo "
"; echo "總投票數:$tot_votes "; } ?>
說明:
在這裡為了防止一人多投是採用記錄最近的一位投票者的IP的方法來實現的,而最近的一位投票的IP地址是WEB客戶機在對伺服器發出請求時儲存在環境變數REMOTE_ADDR中的。