PHP新手上路(9)

辽以镔铁为称

辽以镔铁为称

2016-02-19 17:42

下面是个简单易学的PHP新手上路(9)教程,图老师小编详细图解介绍包你轻松学会,喜欢的朋友赶紧get起来吧!

  建设一个简单交互的网站(五)

  8. 投票系统

  在许多时候,我们需要收集上网者和网友们的意见。例如:新版页面与旧版页面的比较;对某一事情的看法;对体育比赛结果的预测等等。这时候,你需要一个非常有效的网上调查系统。使用PHP就可以非常方便地实现你的这一构想。

  8.1 投票系统(mypolls.php3):

  

?$status=0;if(isset($polled)&&($polled=="c-e")){$status=1;}#echo "$status";if(isset($poll)&&($status==0)){setcookie("polled","c-e",time()+86400,"/");#time=24h}?htmlheadtitle新版页面调查/titlemeta http-equiv="Content-Type" content="text/html; charset=gb2312"style type="text/css"!--.tb { border="1" bordercolor="#009933" cellspacing="0" font-size: 9pt; color: #000000}.head { font-family: "宋体"; font-size: 12pt; font-weight: bold; color: #009933; text-decoration: none}.pt9 { font-size: 9pt}a.p9:link { font-size: 9pt; color: #000000; text-decoration: none}a.p9:visited { font-size: 9pt; color: #000000; text-decoration: none }a.p9:hover { font-size: 9pt; color: #FF0000; text-decoration: underline}a.p9:active { font-size: 9pt; color: #FF0000; text-decoration: underline }--/style/headbody bgcolor="#FFFFFF"div class="head"与旧版页面相比较您觉得新版页面:/divbr?if(!isset($submit)){?form action="myPolls.php3" method="get"input type="radio" name="poll_voteNr" value="1" checked span class="pt9"信息量更大/span brinput type="radio" name="poll_voteNr" value="2" span class="pt9"网页更精美/span brinput type="radio" name="poll_voteNr" value="3" span class="pt9"没什么改进/span brinput type="radio" name="poll_voteNr" value="4" span class="pt9"其它/span brinput type="submit" name="submit" value="OK"input type="hidden" name="poll" value="vote"A HREF="myPolls.php3?submit=OK" class="p9"查看调查结果/A/form?/*如果想增加其它的选项可直接加上即可*/}else{$descArray=array(1="信息量更大",2="网页更精美",3="没什么改进",4="其它");$poll_resultBarHeight = 9; // height in pixels of percentage bar in result table$poll_resultBarScale = 1; // scale of result bar (in multiples of 100 pixels)$poll_tableHeader="table border=1 class="tb"";$poll_rowHeader="tr";$poll_dataHeader="td align=center";$poll_dataFooter="/td";$poll_rowFooter="/tr";$poll_tableFooter="/table";$coutfile="data.pol";$poll_sum=0;// read counter-fileif (file_exists( $coutfile)){$fp = fopen( $coutfile, "rt");while ($Line = fgets($fp, 10)){// split lines into identifier/counterif (ereg( "([^ ]*) *([0-9]*)", $Line, $tmp)){$curArray[(int)$tmp[1]] = (int)$tmp[2];$poll_sum+=(int)$tmp[2];}}// close filefclose($fp);}else{//for ($i=1;$i=count($descArray);$i++){$curArray[$i]=0;}}if(isset($poll)){$curArray[$poll_voteNr]++;$poll_sum++;}echo $poll_tableHeader;// cycle through all options编历数组reset($curArray);while (list($K, $V) = each($curArray)){$poll_optionText = $descArray[$K];$poll_optionCount = $V;echo $poll_rowHeader;if($poll_optionText != ""){echo $poll_dataHeader;echo $poll_optionText;echo $poll_dataFooter;if($poll_sum)$poll_percent = 100 * $poll_optionCount / $poll_sum;else$poll_percent = 0;echo $poll_dataHeader;if ($poll_percent  0){$poll_percentScale = (int)($poll_percent * $poll_resultBarScale);}printf(" %.2f %% (%d)", $poll_percent, $poll_optionCount);echo $poll_dataFooter;}echo $poll_rowFooter;}echo "总共投票次数:font color=red $poll_sum/font";echo $poll_tableFooter;echo "br";echo "input type="submit" name="Submit1" value="返回主页" onClick="javascript:location='http://gophp.heha.net/index.html'"";echo " input type="submit" name="Submit2" value="重新投票" onClick="javascript:location='http://gophp.heha.net/mypolls.php3'"";if(isset($poll)){// write counter file$fp = fopen($coutfile, "wt");reset($curArray);while (list($Key, $Value) = each($curArray)){$tmp = sprintf( "%s %dn", $Key, $Value);fwrite($fp, $tmp);}// close filefclose($fp);}}?/body/html

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

  注释:从上面我们可以看出该投票系统的基本过程:

  1、打开文件取得数据到数组$curArray(文件不存在则初始化数组$curArray)

  2、编历数组,处理数据得到所需值

  3、计算百分比,控制统计bar图像宽度

  4、将数据保存到"data.pol"中

  这里有一点是需要注意:这里的data.pol文本文件需要有写权限。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)
展开更多 50%)
分享

猜你喜欢

PHP新手上路(9)

Web开发
PHP新手上路(9)

PHP新手上路(14)

Web开发
PHP新手上路(14)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

PHP新手上路(8)

Web开发
PHP新手上路(8)

PHP新手上路(十)

PHP
PHP新手上路(十)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

PHP新手上路(1)

Web开发
PHP新手上路(1)

PHP新手上路(12)

Web开发
PHP新手上路(12)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

使用Kylix3开发Apache DSO

使用Kylix3开发Apache DSO

x86内联汇编

x86内联汇编
下拉加载更多内容 ↓