萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> PHP中的表單應用釋疑

PHP中的表單應用釋疑

綜述:表單作為用戶提交信息的一個要害途徑,一直是PHP編程中的一個最基本的方面,也是入門者會碰到的一個大的重點與難點。我們選擇有關處理關聯數、獲得同名checkbox的選取值、上傳文件方面比較輕易令眾困惑的地方進行歸

  如何使用表單傳遞關聯數組?

  通過表單傳遞的關聯數組能被 each()函數讀取,程序如下:

//test1.php
<form action="test2.php" method=post>
<input type=hidden name="var[Address]" value="Beijing">
<input type=hidden name="var['age']" value="20">
<input type=submit value=submit>
這個名為var[Address]值為"Beijing"的元素遞交到test2.php後,就成了一個關聯數組,var["Address"]="Beijing":
//test2.php
<?
echo $var["Address"];
?>

  輸出結果為:Beijing

  如何處理同名checkbox?

  具體代碼:

test1.php:
<FORM METHOD=POST ACTION="test2.php">
蘋果<INPUT TYPE="checkbox" NAME="come[]" VALUE="蘋果"><BR>
鴨梨<INPUT TYPE="checkbox" NAME="come[]" VALUE="鴨梨"><BR>
香蕉<INPUT TYPE="checkbox" NAME="come[]" VALUE="香蕉"><BR>
西瓜<INPUT TYPE="checkbox" NAME="come[]" VALUE="西瓜"><BR>
<INPUT TYPE="submit" VALUE="提交">
</FORM>

test2.php:
你的選擇:<BR>
<?
for ($i=0;$i<sizeof($come);$i ) echo $come[$i],"<BR>";
?>
  這樣從test1.php提交過來的所有名為come[]的元素就組成了一個數組,這樣我們就可以很輕易地處理了.

  怎樣才能察看提交的所有信息?

  一般來說,PHP引擎將每一個表單域放到一個叫做$HTTP_POST_VARS的數組中,所以我們可以通過讀取這個數組就可以察看提交的所有信息:

<?
  echo "POST 所送出的值為:<BR>";
  while ( list( $key, $val ) = each( $HTTP_POST_VARS ) ) {
    echo "$key => $val<BR>";
  }
?>

  如何同時上傳多個文件?

  我們來看一個例子。

  下面是上傳文件的提交頁面,利用該頁面你不僅可以生成 1000 個上傳文件框(也可以是任意多個 0~n ),而且可分別指出它們的保存路徑。

  提交頁面的文件輸入框為命名為: file0,file1,...file100,...fileN
  提交頁面的文件路徑框為命名為: path0,path1,...path100,...pathN
  由於頁面的生成非常簡單,所以就不在此多解釋了,用 javascript 定義了兩個函數,check() 用於提交頁面,create()用於生成文件上傳框。
    phpfileup.htm
    --------------------------------------------------------
    【文件php9.txt】
    --------------------------------------------------------
  文件提交頁面既已生成,下面任務就很明確了:將提交的文件內容保存到服務器上。

  我們先定義一個文件保存函數 fup() 它有兩個參數:
    $filename: 文件內容
    $fname: 文件名(包含路徑)
  剩下的就是寫一個循環將文件依次寫入服務器。

copyright © 萬盛學電腦網 all rights reserved