PHP中的表單應用釋疑

來源:互聯網
上載者:User

綜述:表單作為使用者提交資訊的一個要害途徑,一直是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: 檔案名稱(包含路徑)
  剩下的就是寫一個迴圈將檔案依次寫入伺服器。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.