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

ASP 表單處理:GET/POST 差異與驗證最佳實務

     編輯:ASP 基礎

ASP 表單與用戶輸入處理完整指南


透過 Request.QueryString (GET) 與 Request.Form (POST) 接收使用者提交的表單資料,是 ASP 互動網頁的基礎。


表單處理示意

HTML 表單基本範例

<form method="get" action="process.asp">
  名字: <input type="text" name="fname"><br>
  姓氏: <input type="text" name="lname"><br><br>
  <input type="submit" value="送出">
</form>

Request.QueryString (GET 方法)

  • 資料附加在 URL 查詢字串:process.asp?fname=Bill&lname=Gates
  • 資料對使用者可見,適合書籤分享、搜尋、分頁
  • 長度受限 (約 2KB)
  • 伺服器端取值:Request.QueryString("fname")
<body>
歡迎 <%= Request.QueryString("fname") %> <%= Request.QueryString("lname") %>
</body>

Request.Form (POST 方法)

  • 資料包含在 HTTP 請求主體,URL 不顯示
  • 資料量理論無上限 (受伺服器 Request.TotalBytes 限制)
  • 適合登入、註冊、檔案上傳、敏感資料
  • 伺服器端取值:Request.Form("fname")
<body>
歡迎 <%= Request.Form("fname") %> <%= Request.Form("lname") %>
</body>

表單驗證最佳實務

  1. 客戶端驗證 (JavaScript):即時回饋、減少伺服器負載、改善使用者體驗。但不可信任,使用者可繞過。
  2. 伺服器端驗證 (ASP):必要防線。所有資料入庫前必須驗證型別、長度、格式、業務規則。
  3. 驗證失敗處理:將錯誤訊息與使用者輸入一併回傳原表單頁面 (而非跳轉錯誤頁),讓使用者就地修正。可使用 Session 暫存輸入值或直接在表單 value 輸出。
<!-- process.asp 驗證失敗時導回表單 -->
<% If Not IsValid Then %>
  <form method="post" action="process.asp">
    名字: <input name="fname" value="<%= Server.HTMLEncode(Request.Form("fname")) %>">
    <span class="error"><%= errorMsg %></span>
    ...
  </form>
<% End If %>

安全提醒:輸出使用者輸入至 HTML 時務必 Server.HTMLEncode 防止 XSS;資料庫操作使用參數化查詢 (ADO Command/Parameters) 防止 SQL Injection。

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