PHP 投票调查的简单实现方法
内容摘要
这篇文章主要为大家详细介绍了PHP 投票调查的简单实现方法,具有一定的参考价值,可以用来参考一下。
这是一个简单的投票程序,对于刚学PHP和朋友来说是一个很不错的入门程序。
这是一个简单的投票程序,对于刚学PHP和朋友来说是一个很不错的入门程序。
文章正文
这篇文章主要为大家详细介绍了PHP 投票调查的简单实现方法,具有一定的参考价值,可以用来参考一下。
这是一个简单的投票程序,对于刚学PHP和朋友来说是一个很不错的入门程序。在这里给大家介绍一下,希望能对朋友们有所帮助。该系统是由以下四个文件组成的:有HTML调查表单的survey.htm,实现调查功能的survey.php,记录调查项目的data.txt和记录调查结果的survey.txt.其中data.txt和survey.txt我们可以用NOTEPAD分别创建之,并传到程序目录下。文件data.txt中存的是要进行调查的项目,注意每个项目应占一行;而survey.txt则可以是一个什么内容也没有的空文件。Survey.htm的代码可以如如下所示:经测试的代码如下:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <code class = "html" > <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> <!-- 来自 php教程 (www.idcnote.com)--></code> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | <code class = "php" > <?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]) /** * 检查是不是同一个人 */ { 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]|" ); /** * 将数据写回文件 */ } 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> " ; /** * 输出条形码图 */ 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>" ; } ?> /*** 代码来自php教程(www.idcnote.com) ***/ </code> |
注:关于PHP 投票调查的简单实现方法的内容就先介绍到这里,更多相关文章的可以留意
代码注释