Symfoware Server WebDBtoolsユーザーズガイド - FUJITSU -
目次 索引 前ページ次ページ

第3章 データベース連携> 3.6 拡張タグの使用例

3.6.1 個別セション

■処理の内容

個別セションのアプリケーションの例を説明します。

■サンプルプログラム

サンプルプログラムは、SolarisおよびLinuxの場合の例です。Windows(R) 2000またはWindows Server(R) 2003の場合は、“Windows(R) 2000またはWindows Server(R) 2003の場合の設定方法”を参照してください。

start.html
・・・
<A HREF="login.html">個別セション</A><BR>
<A HREF="demo_cookie.html">共有セション</A><BR>
・・・

login.html
・・・
<FORM ACTION="/cgi-bin/wit_gwd" METHOD="POST">
<INPUT TYPE="HIDDEN" NAME="WIT_env" VALUE="sample.env">
<TABLE BORDER=0>
    <TR>
        <TD>ユーザID</TD><TD>:</TD><TD><INPUT TYPE="TEXT" NAME="WIT_userid"></TD>
    </TR>
    <TR>
        <TD>パスワード</TD><TD>:</TD><TD><INPUT TYPE="password" NAME="WIT_passwd"></TD>
    </TR>
</TABLE>
<INPUT TYPE="SUBMIT" VALUE="ログイン">
</FORM>      (1)

(1) データベースへのログイン
<FORM>タグを使用してブラウザ上でユーザID、パスワードを設定します。[ログイン]ボタンをクリックすると、設定された値でwit_gwdコマンドが実行され、セションが開設されます。このとき、アプリケーション環境パラメタとしてsample.env が参照されます。

sample.env(アプリケーション環境パラメタ)
・・・
DBName = SAMPLE
userid = XXXXXXXX
passwd = XXXXXXXX
homePage = /html/demo.html      (2)
formatDir = /opt/FJSVsymwd/sample/format_private
・・・

(2) ホームページの表示
アプリケーション環境パラメタのhomePageパラメタに指定されたdemo.htmlが表示されます。

demo.html
・・・
<FORM ACTION="/cgi-bin/wit_fmtr" METHOD="POST">
<INPUT TYPE="HIDDEN" NAME="WIT_html" VALUE="demo_fmt.html">
製品名:<INPUT TYPE="TEXT" NAME="Name1"><BR>
<INPUT TYPE="SUBMIT" NAME="Search" VALUE="検索">
</FORM>      (3)
・・・

(3) 検索文字列の指定
<FORM>タグを使用して検索文字列を“Name1”に設定し、demo_fmt.html に処理を引き継ぎます。

demo_fmt.html
・・・
<!DO "SELECT 製品名,カテゴリ,機能,型番
          FROM WL_SCHEMA.製品表
          WHERE 製品名 LIKE '%$QUERY::Name1%'" RESULT=rslt ONERROR="ERROR1">      (4)
・・・
<TABLE BORDER=1>
    <TR>
        <TD>製品名</TD>
        <TD>カテゴリ</TD>
        <TD>型番</TD>
    </TR>
    <!FOREACH rslt t>
        <TR>
            <TD>
                <!SETVAR vName 'URLencode(t{製品名})'>
                <A HREF="$SYSTEM::FMTR?WIT_html=media.html&Name=$vName">
                <!HREPLACE 't{製品名}'></A>
            </TD>
            <TD><!HREPLACE 't{カテゴリ}'></TD>
            <TD><!HREPLACE 't{型番}'></TD>
        </TR>
    <!/FOREACH>
</TABLE>     (5)
・・・
<FORM ACTION="$SYSTEM::LOGOUT" METHOD="POST">
<INPUT TYPE="HIDDEN" NAME="WIT_html" VALUE="login.html">
<INPUT TYPE="SUBMIT" VALUE="ログアウト">
</FORM>      (6)

(4) データベースの検索
データベースから、“Name1”で指定された文字列を含む情報を検索し、結果を“rslt”に格納します。
検索時にエラーが発生した場合、“ONERROR”で指定されたエラー処理が行われます。
(5) 検索結果の表示
検索した情報の製品名、カテゴリ、型番をすべて表示します。
(6) データベースからのログアウト
wit_logoutコマンドを実行します。[ログアウト]ボタンをクリックすると、login.html が表示され、セションを終了します。

wit_gwdコマンドは個別セションでデータベースにアクセスする場合に必要なコマンドです。共有セションでデータベースにアクセスする場合は必要ありません。
フォーマットファイルでwit_gwdコマンドを使用する場合、コマンドをそのまま記述しないで、変数SYSTEM::GWDを使用することができます。

例:<FORM ACTION="$SYSTEM::GWD" METHOD="POST">

wit_gwdコマンドのWIT_useridは省略可能です。省略した場合は、アプリケーション環境パラメタのuseridに定義されている値が指定されます。
wit_gwdコマンドのWIT_passwdは省略可能です。省略した場合は、アプリケーション環境パラメタのpasswdに定義されている値が指定されます。
フォーマットファイルでwit_logoutコマンドを使用する場合、コマンドをそのまま記述しないで、変数SYSTEM::LOGOUTを使用することができます。

例:<FORM ACTION="$SYSTEM::LOGOUT" METHOD="POST">

wit_logoutコマンドのパラメタとしてWIT_htmlとWIT_urlpathの両方が同時に指定された場合は、WIT_htmlが指定されたものとみなします。
wit_logoutコマンドのパラメタを省略した場合、アプリケーション環境パラメタのlogoutFormatに指定されたフォーマットファイルが処理され、セションを終了します。パラメタもアプリケーション環境パラメタのlogoutFormatも指定されていない場合は、終了したことを示すメッセージが表示され、セションを終了します。

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2007