動態產生HTML FORM輸入與接收

第一個檔案:a.php
<html>
<body>
<form action='b.php' method=post>
  <!-- 以下PHP是顯示20個可以點選的圖案,並每隔10個就換行 -->
  <?php
    for ($i=1; $i<=20; $i++) {
      echo
        "<input type=radio name='RADIO' value='".$i."'>
         <img src='p".$i.".gif'>\n";
      if (($i % 10)==0) echo "<br>\n";
    }
  ?>

  <table border=1>
    <tr>
    <!-- 以下PHP是顯示30個可以勾選的選項,並每隔5個就換行 -->
    <?php
      for ($i=1; $i<=30; $i++) {
        echo
          "<td>
            <input type=checkbox name='CHECKBOX".$i."'>第 $i 項
           </td>";
        if (($i % 5)==0) echo "</tr><tr>\n";
      }
    ?>

    </tr>
  </table>
  <input type=submit value='確定'>
  <input type=reset value='取消'>
</form>
</body>
</html> 
第二個檔案:b.php
<?php
  echo "Radio的選擇是:";
  if (isset($RADIO)) {
    echo $RADIO."<img src='p".$RADIO.".gif'><hr>";
  } else {
    echo "沒有選擇<hr>";
  }

  echo "CheckBox選擇是:<br>";
  for ($i=1; $i<=30; $i++) {
    $Tmp = "CHECKBOX".$i;
    if (isset($$Tmp))
    echo $Tmp . ": 第 $i 項<br>";
  }
?>
結果:
  1. 準備p01.gif∼p20.gif十個圖案。
  2. 執行a.php之後,先利用瀏覽器直接檢視原始碼,試著了解a.php的執行結果(PHP的執行結果,就是產生HTML語法)。
  3. 再按「確定」鍵,看看b.php的執行結果。
說明:
  1. a.php是HTML與PHP的混合寫法,不同顏色處即PHP程式碼。PHP和HTML可以寫在同一個檔案內,PHP程式碼是寫在<?php .. ?>之內。
  2. 第一段PHP程式碼是顯示一至二十個Radio及圖案(p01.gif∼p20.gif)供點選;並每隔十個就換行。
  3. 百分比(%)是求某數除以另一數的餘數;例如 17%3 的結果是 2。所以 $i%10==0 即當 $i 除以 10 的餘數是零時。
  4. 第二段PHP程式碼是顯示一至三十個Checkbox勾選;並每隔五個就換行。此處是採用HTML裡的Table指令。
  5. $$var的用法是取得變數裡的變數。
    若 $a=1; $b='a'; 則 echo $b; 的結果是 'a';而 echo $$b; 的結果則是 1;就是$a的結果。
    當有很多變數是有順序性時,就可以利用$$var的方式取得各個變數的值。

作者:Dana, cowwu@ms15.hinet.net, 2001/02/07
本文章公開於個人網站 http://www.dana.idv.tw
Home Copyright © Shu-Chen Wu