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
フォーム検証
可能な限り、ユーザーが入力したデータを検証するべきです(クライアントのスクリプトを通じて)。ブラウザ側の検証は速く、サーバーの負荷を減らすことができます。
ユーザーデータがデータベースに代入される場合、サーバーサイドの検証を使用することを検討してください。フォームを検証して(検証済みの)フォームをフォームページに戻す、異なるページにリダイレクトするのではなく良い方法です。ユーザーはその後、同じページでエラーメッセージを受け取ることができます。これにより、ユーザーはエラーをより簡単に発見できます。