ASP フォームとユーザー入力

Request.QueryString と Request.Form コマンドは、ユーザーの入力などのフォーム情報を取得するために使用できます。

例:

method="get" のフォーム
Request.QueryString コマンドを使用してユーザーと交互に行う方法
method="post" のフォーム
Request.Form コマンドを使用してユーザーと交互に行う方法
ラジオボタンのフォーム
ラジオボタンを使用して Request.Form を通じてユーザーと交互に行う方法

ユーザー入力

Request オブジェクトは、フォームからユーザー情報を取得するために使用できます。

HTML フォームの例

<form method="get" action="simpleform.asp">
<p>First Name: <input type="text" name="fname" /></p>
<p>Last Name: <input type="text" name="lname" /></p>
<input type="submit" value="Submit" />
</form>

ユーザーが入力した情報は、Request.QueryString または Request.Form の两种の方法で取得できます。

Request.QueryString

Request.QueryString コマンドは method="get" を使用するフォームの値を収集するために使用されます。GET メソッドでフォームから送信される情報はすべてのユーザーに表示され(ブラウザのアドレスバーに表示される)、送信される情報の量にも制限があります。

HTML フォームの例

<form method="get" action="simpleform.asp"
<p>First Name: <input type="text" name="fname" /></p>
<p>Last Name: <input type="text" name="lname" /></p>
<input type="submit" value="Submit" />
</form>

ユーザーが上記のフォームインスタンスに "Bill" と "Gates" を入力し、サーバーに送信すると、URLは以下のようになります:

http://www.codew3c.com/simpleform.asp?fname=Bill&lname=Gates

以下のコードを含む ASP ファイル "simpleform.asp" を仮定します:

<body>
Welcome
<%
response.write(request.querystring("fname"))
response.write(" " & request.querystring("lname"))
%>
</body>

ブラウザは以下のように表示します:

Welcome Bill Gates

Request.Form

Request.Form コマンドは "post" メソッドを使用するフォームの値を収集するために使用されます。POST メソッドでフォームから送信される情報はユーザーには非表示であり、送信される情報の量にも制限はありません。

HTML フォームの例

<form method="post" action="simpleform.asp"
<p>First Name: <input type="text" name="fname" /></p>
<p>Last Name: <input type="text" name="lname" /></p>
<input type="submit" value="Submit" />
</form>

ユーザーが上記のフォームインスタンスに "Bill" と "Gates" を入力し、サーバーに送信すると、URLは以下のようになります:

http://www.codew3c.com/simpleform.asp

以下のコードを含む ASP ファイル "simpleform.asp" を仮定します:

<body>
Welcome
<%
response.write(request.form("fname"))
response.write(" " & request.form("lname"))
%>
</body>

ブラウザは以下のように表示します:

Welcome Bill Gates

フォーム検証

可能な限り、ユーザーが入力したデータを検証するべきです(クライアントのスクリプトを通じて)。ブラウザ側の検証は速く、サーバーの負荷を減らすことができます。

ユーザーデータがデータベースに代入される場合、サーバーサイドの検証を使用することを検討してください。フォームを検証して(検証済みの)フォームをフォームページに戻す、異なるページにリダイレクトするのではなく良い方法です。ユーザーはその後、同じページでエラーメッセージを受け取ることができます。これにより、ユーザーはエラーをより簡単に発見できます。