国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

實例學習PHP之投票程序篇(二)

2024-05-04 23:02:09
字體:
來源:轉載
供稿:網友

 

好了,基礎的東西已經學完,讓我們來進行實戰吧!大家先下這個范例程序。然后可以在自己的平臺上先試試看。相信這樣會得到一點感性認識。
  
  
   在這個應用中一共使用了三個文件vote.phpconfig.php1.gif以及一個保存數據的文件(該文件的名字可以自由設定,在這里我們設為sum.txt),其中vote.php是主程序文件,config.php則用于設置一些經常需要修改的信息。
  
  
   //config.php文件
  
  
   < ?
  
  
   //title變量設定本html檔中的title標記,也就是在瀏覽器標題欄里出現的標題
  
   $title=讀者類型調查表;
  
  
   //設定調查內容。這里用了一個數組,注意用""號把內容括起來
  
   $option= array("學生","工人","農民","知識分子","資本家","流氓");
  
  
   //設定調查結果保存到哪個文件中去
  
   $countfile = "sum.txt";
  
  
   //設定同一機器可以再次投票的時間
  
   $limitdate = time()+60*60*24*365;
  
  
   ?>
  
  
   // vote.php文件
  
  
   /*首先將配置信息裝進來,這里我簡單說明一下 requireinclude的區別,require通常放在php 程序的最前面,php 程式在執行前,就會先讀入 require 所指定引入的檔案,使它變成 php 程式網頁的一部份。常用的函式,亦可以這個方法將它引入網頁中。 include 則一般是放在流程控制的處理區段中。php 程式網頁在讀到 include 的檔案時,才將它讀進來。這種方式可以把程式執行時的流程簡單化。 */
  
  
   < ? require "config.php";?>
  
  
   /*下面這部分就是cookie了,它的expire時間在上面的config.php中設置,另外大家可能已經發現了,在這里有兩個 if比較語句,第一個是檢測是否已經有cookie設置,第二個則是為了避免人家還沒有投票程序就把cookie發出去。*/
  
   < ?
  
   if (isset($vote) && $vote=="ready") $status = 1;
  
   else $status=0;
  
   if ($ready=="true")
  
   {
  
   setcookie("vote","ready",$limitdate);
  
   }
  
   ?>
  
  
   < html>
  
   < head>
  
   < title>< ? echo $title ?>< /title>
  
   < meta http-equiv="content-type" content="text/html; charset=gb2312">
  
   < /head>
  
  
   < body bgcolor="#ffffff">
  
  
   //讀出原來的選票結果,賦給變量$result
  
   < ?
  
   if (file_exists ($countfile)){
  
   $result = file($countfile);
  
   }
  
   ?>
  
  
   /*下面是主程序 switch做了三個分支,case 1、查看結果;case 2、提交選擇;case 3、生成表   */
  
   < ?
  
   switch ($elect) {
  
  
  
   /* 查看結果,實際就是把上面用file()函數讀出來的變量顯示出來*/
  
   case "查看結果":
  
   echo "< table border='0'>";
  
   for($i=0;$i< count($result);$i++){
  
   echo "< tr>"."< td>".$option[$i]."< /td>";
  
   echo "< td>"."< img src='1.gif' width='";
  
   echo "$result[$i]*10";
  
   echo "' height='8'> < /td>";
  
   echo "< td>"."    ".$result[$i]."< /td>< /tr>";
  
   }
  
   echo "< /table>";
  
   break;
  
  
  
   /*把選擇結果寫入到文件中去,注意要用flock把文件鎖住!雖然對投票程序來說這個問題不是特別   突出*/
  
   case "提交":
  
   if ($status == 1){
  
   echo "你已經投過票了";
  
   }elseif($sugest == 0){
  
   echo "you havn't choice";
  
   }else{
  
   if($fp=fopen($countfile,"w")){
  
   if(flock($fp,3)){
  
   for ($i=0; $i< count ($option); $i++){
  
   if ($sugest == $i+1){
  
   $result[$i]=$result[$i]+1;
  
   }else $result[$i]=$result[$i] + 0;
  
   echo $option[$i]."    ".$result[$i]."< br>";
  
   fwrite($fp,$result[$i]." ");
  
   }
  
   }else "投票失敗";
  
   }else echo "投票失敗";
  
   fclose($fp);
  
   }
  
   break;
  
  
   /*顯示投票的表單*/
  
   default:
  
   echo "< form action='vote.php' method='post' name='form1'>";
  
   $sum = count($option);
  
   for ($i=0; $i< $sum; $i++){
  
   echo "< input type='radio' name='sugest' value=";
  
   echo $i+1;
  
   if ($i==0) echo " checked";
  
   echo ">".$option[$i]."< br>";
  
   }
  
   echo "< input type='hidden' name='ready' value='true'>";
  
   echo "< br>";
  
   echo "< input type='submit' name = 'elect' value='提交'>";
  
   echo "< input type='submit' name='elect' value='查看結果'>";
  
   echo "< /form>";
  
   }
  
   ?>
  
   < /p>
  
   < /body>
  
   < /html>
  
  
  
   這樣一個簡單的php的投票應用就完成了,說它簡單是因為這個程序只完成了投票應用的幾個最重要的功能,還有一些細節問題沒有去處理。比如文件寫失敗之后的處理,用戶關閉cookie功能的應付辦法等等。具體的完善就留給讀者朋友來解決了。
  
  

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 正定县| 新巴尔虎左旗| 两当县| 鄄城县| 肃宁县| 辉县市| 松溪县| 郑州市| 云阳县| 吴江市| 那曲县| 成安县| 玉溪市| 内丘县| 西吉县| 湾仔区| 东港市| 福建省| 济阳县| 方正县| 吴忠市| 芦溪县| 晋州市| 新田县| 乌拉特后旗| 成武县| 柳江县| 赞皇县| 灵石县| 海口市| 乌兰察布市| 光山县| 敦化市| 中方县| 开原市| 昭苏县| 林州市| 葵青区| 霍州市| 佛教| 大田县|