首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> ASP 程式設計 >> ASP 入門教學

ASP 入門教學:掌握 Form 集合接收 POST 資料

     編輯:ASP 入門教學

當表單採用 POST 方式提交時,所有表單欄位的值會被封裝在 Request 物件的 Form 集合中。與 QueryString 不同,POST 方式將資料置於 HTTP 請求主體內,不會顯示於網址列,適合傳遞大量或敏感資料。

Form 集合語法

Request.Form(元素名) [(索引值) | .Count]
  • 元素名:欲擷取的表單控制項 name 屬性值。
  • 索引值:同名元素有多個值(如核取方塊群組、多選下拉選單)時指定取第幾個。
  • .Count:傳回該元素值的個數。

關鍵限制:前端 <form> 標籤 必須設定 Method="Post",否則 Request.Form 將讀不到任何資料。

實作範例:招聘表單資料接收(POST 版)

前端表單頁(4-3a.htm)

<html>
<head><title>求職基本資料表</title></head>
<body>
<p align="center">輸入資料的表單
<form Action="4-3a.asp" Method="post">
<table align="center" Border="1">
<tr valign="baseline">
<td>姓名:<input type="text" name="xm" size="8">
<td>性別:男<input type="Radio" name="xb" value="男" checked>
女<input type="Radio" name="xb" value="女">
<td>密碼:<input type="Password" name="mm" size="12">
<tr><td colspan="3">所學專業
<input type="Checkbox" name="ah" value="漢語">漢語
<input type="Checkbox" name="ah" value="日語">日語
<input type="Checkbox" name="ah" value="西班牙語">西班牙語
<input type="Checkbox" name="ah" value="英語">英語
<input type="Checkbox" name="ah" value="德語">德語
<tr><td>特長:<br>
<Select name="xl" style="width:200px" size="4">
<option value="社交">社交
<option value="計算機">計算機
<option value="體育運動">體育運動
<option value="文藝愛好" Selected>文藝愛好
<option value="善於管理">善於管理
</Select>
<td colspan="2">生活格言:<br>
<textarea name="adage" cols="40" rows="4"></textarea>
</table>
<p align="center"><input type="Submit" value="提交">
<input type="Reset" value="重寫">
</form>
</body>
</html>

後端處理頁(4-3a.asp)

<html>
<head><title>Form 集合示範</title></head>
<body>
<center>
Request 物件的 Form 集合範例<p>
<hr size="2" width="80%" color="#cc9999">
<p><font color="red"><h2>歡迎登錄本站點</h2></font><p>
下面是您所填寫的基本信息,請確定是否正確。<p>
<%
Response.Write "您的姓名是:" & Request.Form("xm") & "<p>"
Response.Write "您的性別是:" & Request.Form("xb") & "<p>"
Response.Write "您的密碼是:" & Request.Form("mm") & "<p>"
Response.Write "您所學專業是:" & Request.Form("ah") & "<p>"
Response.Write "您的特長是:" & Request.Form("xl") & "<p>"
Response.Write "您的格言是:"
Response.Write Request.Form("adage") & "<p>"
%>
這些信息對嗎?
<a href="4-3a.htm">如不對,返回</a> **||** <a href="4-3-2.asp">請點這裡返回到教材</a></p>
</center>
</body>
</html>

Form vs QueryString 快速比較

特性Request.Form (POST)Request.QueryString (GET)
資料位置HTTP 請求主體URL 查詢字串
可見性網址列不顯示網址列明文可見
資料量限制較大(預設約 100KB,可調整)受限於 URL 長度(~2KB)
適用場景登入、註冊、上傳、機密資料搜尋、分頁、書籤分享
書籤/重整重整會重送資料(瀏覽器會提示)可直接書籤、重整無副作用

常見錯誤與除錯技巧

  • 忘記設定 Method="Post":預設為 Get,導致 Request.Form 為空。
  • 名稱拼寫不一致:前端 name="username",後端寫 Request.Form("user") 會取不到值。
  • 多值參數未迴圈:Checkbox 群組同名,直接 Request.Form("ah") 僅取第一值,需配合 .Count 迴圈讀取所有勾選項。
  • 同時讀取 Form 與 BinaryRead:兩者互斥,已讀 Request.Form 後不可再呼叫 Request.BinaryRead,反之亦然。

熟練運用 Form 集合,是建構安全、穩健 ASP 表單處理邏輯的核心基礎。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved