サーバ処理でクライアントからの情報を取得する方法
クライアント側からサーバ側への送信処理は実装できたので、次はサーバ側でデータの登録を行う処理を実装します。 まず、サーバ処理でデータの登録処理を実装しますが、その際、最初の初期表示としてアクセスされたのか、登録ボタンを押してsubmit
されてアクセスされたかで処理を分ける必要があります。でないと初期表示時にもデータ登録の処理が行われてしまいます。 今回はフォームに処理フラグとしてhidMode
というhidden
コントロールを追加し、submit
するときに一緒に処理フラグもsubmit
して、サーバ側では処理フラグの値によって処理を分岐させています。
<%
'サーバ処理でrequest.form("hidMode")=1のときのみ登録処理を行います
If request.form("hidMode") = "1" Then
'サーバ処理でデータの登録を行う
Dim strName
strName = request.form("txtName") 'クライアントから送信された情報を取得しています
Dim strPrice
strPrice = request.form("txtPrice") 'クライアントから送信された情報を取得しています
'SQLでデータの登録処理を実行
End If
%>
<!DOCTYPE HTML>
<html>
<!-- 以下省略 -->
POST
でsubmit
したので、クライアントから送信されたコントロールの情報はrequest.form(コントロール名)
で取得します。 登録処理が成功したかどうかのメッセージをresult
という変数にセットして、クライアント側に出力しています。 サーバ側でデータの登録処理を実装したソースは下記のようになります。
<%
'サーバ処理でrequest.form("hidMode")=1のときのみ登録処理を行います
If request.form("hidMode") = "1" Then
Dim strName
strName = request.form("txtName") 'クライアントから送信された情報を取得しています
Dim strPrice
strPrice = request.form("txtPrice") 'クライアントから送信された情報を取得しています
'SQLでデータの登録処理を実行
Dim result
result = '登録しました'
End If
%>
<!-- 省略 -->
<form action="" method="post" name="frmMain">
商品名:<input type="text" name="txtName">
単価:<input type="text" name="txtPrice">
<input type="hidden" name="hidMode" value="1"> <!-- サーバ処理でrequest.form("hidMode")=1のときのみ登録処理を行います -->
<input type="button" value="登録" onclick="touroku();">
</form>
<%= result %> <!-- 処理結果を出力します -->
</body>
</html>