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

クライアント側からサーバ側への送信処理は実装できたので、次はサーバ側でデータの登録を行う処理を実装します。 まず、サーバ処理でデータの登録処理を実装しますが、その際、最初の初期表示としてアクセスされたのか、登録ボタンを押して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アプリで頻繁に登場する用語の説明を交えながら、ホームページの仕組みについて復習します。


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

    classic aspで登録時にクライアントとサーバでデータの入力チェックを行う方法について説明します。誤って不正なデータを登録してしまうのを防ぐために、ユーザが入力した内容をチェックする処理を実装し...


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

    サーバ処理でhtmlファイルをそのまま出力している場合は、データが変わるごとに、htmlファイルを書き換えなければなりません。


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

    ホームページとWEBアプリケーションの違いは、ホームページとは基本的に作成者が一方的に情報を公開するサイトのことを差します。


  • GETとPOSTの違い

    GETとPOSTの違いについて説明します。formのmethod属性には、GETとPOSTの2種類があります。method属性では送信(リクエスト)の方法を指定しています。何も指定しない場合はGETで...


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

    classic aspでサーバ処理でクライアントからの情報を取得する方法について説明します。クライアント側からサーバ側への送信処理は実装できたので、次はサーバ側でデータの登録を行う処理を実装します。


  • cssで三角形を表示する方法

    画像を使わずに、cssでスタイルを指定するだけで三角形を表示させる方法を紹介します。三角形を表示させるにはborder(枠線)を使用します。縦と横が重なる部分は、どちらかのスタイル(青か赤)を優先させ...


  • 唐松岳・八方尾根に日帰り登山レビュー

    唐松岳に日帰り登山に行ってきました。登山道は森の中を歩く箇所は少なく、ほとんど開けた場所で、風が下から吹いてきてとても気持ちが良いです。途中までリフトが使えることや、道がとても歩きやすいことから、唐松...


  • canvasのアニメーションで軌跡・残像・フェードアウトを表現する

    アニメーションを応用し軌跡や残像を残したり。フェードアウトする方法を紹介します。軌跡を残すためにはクリアする処理をなくす必要があります。クリアをしなければ、前回描画した状態に対して追記する形になるため...


  • LaravelのElixirでbrowserSyncを導入する

    LaravelのElixirでビルド後にブラウザを自動で再表示するために、browserSyncを導入しました。browserSyncをするためには「laravel-elixir-browsersyn...