サーバ処理でクライアントからの情報を取得する方法

クライアント側からサーバ側への送信処理は実装できたので、次はサーバ側でデータの登録を行う処理を実装します。 まず、サーバ処理でデータの登録処理を実装しますが、その際、最初の初期表示としてアクセスされたのか、登録ボタンを押して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>
<!-- 以下省略 -->

POSTsubmitしたので、クライアントから送信されたコントロールの情報は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>

関連記事

  • WEBアプリの基本的な仕組みと考え方

    WEBアプリの基本的な仕組みを説明します。まずは、WEBアプリで頻繁に登場する用語の説明を交えながら、ホームページの仕組みについて復習します。わかりやすくするためにかなり噛み砕いて説明しているため、実...


  • 登録時にクライアントとサーバでデータの入力チェックを行う方法

    誤って不正なデータを登録してしまうのを防ぐために、ユーザが入力した内容をチェックする処理を実装します。商品名と単価が未入力の場合と、同じ商品名がすでに登録されていた場合はアラートでエラーメッセージを表...


  • ホームページの問題点とサーバ処理の基本と必要性

    サーバ処理について説明します。下記のように、商品一覧を表形式で出力しているホームページがあるとします。サーバ処理でhtmlファイルをそのまま出力している場合は、新たに商品を追加したり、商品の値段が変わ...


  • ホームページの基本的な仕組みと考え方

    はじめに、ホームページの基本的な仕組みを説明します。どちらもWEB上にあり、ウェブブラウザを用いて閲覧します。両者の違いはというと、厳密に定義されているわけではないと思いますが、ホームページとは基本的...


  • GETとPOSTの違い

    formのmethod属性には、GETとPOSTの2種類があります。method属性では送信(リクエスト)の方法を指定しています。何も指定しない場合はGETで送信されます。URLを入力して直接画面遷移...


  • 地附山で自然に触れ合い心も体もリフレッシュ

    日常から抜けだして、自然に触れて心も体もリフレッシュしたいなら、長野県の地附山がおすすめです。トレッキングというよりもハイキングのような感じで、登山装備もいらずに気軽に歩けるのでおすすめスポットです。...


  • 須坂市の絶景スポット米子大瀑布の紹介

    8月の新緑の季節に行ってきました長野県須坂市の米子大瀑布の、壮大な自然が絶景でとても感動したので紹介します。米子大瀑布は、須坂市の山中にある2つの滝です。米子大瀑布にあるこれらの滝は日本の滝百選に選ば...


  • WOWOWを自動音声通話で解約したが翌月になっても見れてしまったとき

    WOWOWの解約は電話で行いますが、回線が混み合っているときは自動音声案内で解約することができます。先月、WOWOWを解約するときに、自動音声案内で解約したのですが、翌月の1日に一応「ちゃんと解約でき...


  • WOWOWはチューナーやアンテナ不要ですぐに見れます

    私の周りでは見たいけど番組があるがWOWOWを契約するのを迷っている人が結構います。チューナーやアンテナなどを設置になければ見られないと思っている人や、申込み後に何週間も待たないと見られないと思ってい...


  • Windows7から10に無料でアップグレードする手順(2019年12月更新)

    Windows 7のサポート終了が2020年1月に迫っています。私の周りではWindows 10の新しいパソコンに買い換える人が多いですが、実はWindows 7から10に無料でアップグレードすること...