Dreamweaver TechniqueJAVA Script サンプル | CSS sample | JAVA Applet sample | Flash Sample
HTML4.0 reference | DynamicHTMLXHTML | XML sample | XSLT sample | RIKO's ASP Trial
ASP ADO リファレンス | PHP関数リファレンス | MySQL関数リファレンス

ASPページの作成

■ DreamweaverででFlashファイルを入れる空のHTMLトップページと書き込み用ASPページを作成する。

1. 新規ファイルを作成し、[survey.htm]というファイル名をつけて保存する。

2. 新規ファイルを作成し、[submit.asp]というファイル名をつけて保存する。

3. [submit.asp]ファイルをドキュメントウィンドウで開き、オブジェクトパネルの[フォーム]カテゴリで[フォームの挿入]をクリックしてフォームを挿入する。

4. 以下のようなテーブルを作成する。

記入日時

 
 
 
誕生日  
製品が気に入ったかどうか  
製品が気に入った理由  
使ったことのある他社製品1  
使ったことのある他社製品2  
使ったことのある他社製品3  
我社で気に入った他製品  

■ Dreamweaverでsubmit.aspの接続設定をサイトに登録する。

1.  UltraDevelopperのドキュメントウィンドウ上で、メニューから[修正]-[接続]を選択する。

2. ダイアログの[新規]ボタンをクリックすると出てくるプルダウンメニューから[データソース名(DNS)]を選択する。

3. [接続名]フィールドに[survey]と入力する。UltraDevelopperの接続先ラジオボタンで[アプリケーションサーバーのDNSを使用]を選択して[データソース名(DNS)]フィールドの右側にある[DNS]ボタンをクリックするとDNS参照リストが表示されるので、先ほど定義した[conSurvey]を選択する。

4. 接続時に認証が必要な場合は、ユーザー名とパスワード設定をし、接続時に認証が行われるようにして、[OK]ボタンをリックする。

■ Dreamweaverでsubmit.aspにリクエスト変数を定義して、swfから送信されてきた内容をページ表示し、Accessに送信するボタンを作成する。

1. [データバインディング]パネルを開き、[+]ボタンをクリックして、メニューから[リクエスト変数]を選択する。

2. 設定ダイアログが表示されたら、[タイプ]リストで[Results]を選択し、[名前フィールド]に[PostDate]という名前を入力して[OK]をクリックする。これにより、PostDateというリクエスト変数が登録される。

3. 同様にして、トップページのswfから送信されてくる残りのリクエスト変数をすべて登録する。つまり、設定ダイアログの[タイプ]リストで[Results]を選択し、[名前フィールド]に[FirstName][LastName][Birthday][LikeProduct][Why][Samples1][Samples2][Samples3][Competition]という9つのリクエスト変数を登録する。

4. ドキュメントウィンドウ内でテーブル右側のセルにカーソルを移動し、[データバインディング]パネル内で[PostDate]リクエスト変数を選択して[挿入]ボタンをクリックする。これでPostDateリクエスト変数がテーブルに挿入される。

5. 同様にして、残りのリクエスト変数をテーブル内の適切なセルに挿入する。リクエスト変数が挿入されると、セルに{Requests.PostDate}という形式のテキストが表示される。

6. リクエスト変数内のデータをそのままページ上に表示すると、データに<>等のHTMLタグが含まれている場合に、テーブルのレイアウトが崩れるおそれがある。そこで、リクエスト変数のデータ内ではタグを無効にするため、リクエスト変数の設定を変更する。[サーバービヘイビア]パネル内で[動的テキスト(Requests.PostDate)]をダブルクリックし、[動的テキスト]ダイアログを表示する。

7. [フィールド]リストで、この動的テキストに関連付けるリクエスト変数(PostDate)を選択する。その後で[フォーマット]リストから[エンコード-Server.HTMLエンコード]を選択してHTMLタグを無効にする。

8. 同様にして、ほかのリクエスト変数についてもフォーマットを設定する。

9. テーブルの一番下の行にカーソルを挿入し、オブジェクトパネルの[フォーム]カテゴリを表示して[フォーム挿入]オブジェクトをクリックしてフォームを挿入する。プロパティウィンドウ内で[フォーム名]に[Form1]、[アクション]に[<%=MM_editAction%>]を入力し、[メソッド]メニューで[POST]を選択する。

10. 同じセル内のすぐ右にカーソルを置いて、オブジェクトパネルの[フォーム]カテゴリの[ボタン挿入]オブジェクトをクリックしてボタンを挿入する。プロパティウィンドウ内で[ボタン名]に[Submit1]、[ラベル]に[書き込み]と入力して、[アクション]ラジオボタンで[フォーム送信]をクリックする。

11. フォーム内にオブジェクトパネルの[フォーム]カテゴリの[非表示フィールドを挿入]オブジェクトをクリックして10個の非表示フィールドを挿入する。左から順にプロパティウィンドウで[PostDate][FirstName][LastName][Birthday][LikeProduct][Why][Samples1][Samples2][Samples3][Competition]という名をつける。

12. 左端の非表示フィールド[PostDate]を選択し、[データバインディング]パネルからPostDateリクエスト変数を選択する。[データバインディング]パネルの[バインド先]リストからプルダウンメニューで[input.value]を選択し、[バインド]ボタンをクリックしてPostDateリクエスト変数の値を非表示フィールドの値(value)属性に割り当てる。

13. 同様にして、[FirstName][LastName][Birthday][LikeProduct][Why][Samples1][Samples2][Samples3][Competition]の非表示フィールドの値(value)属性に同名のリクエスト変数を割り当てる。

14.  [submit.asp]ファイルを保存して閉じる。

■ 「submit.asp」のスクリプト部分の記述

1. プロパティウィンドウ内で[フォーム名]に[Form1]、[アクション]に[<%=MM_editAction%>]を入力し、[メソッド]メニューで[POST]を選択する。

2. このフォーム内に以下のようなテキストフィールドを挿入する。

入力フィールド名

種類
最大文字数
内容
PostDate 日付/時刻型   YYYY/MM/DD;00:00
FirstName テキストフィールド
16
LastName テキストフィールド
16
Birthday 日付/時刻型
YYYY/MM/DD;00:00
LikeProduct テキスト
50
ラジオボタンの値(Y/N)
Why テキスト
50
顧客が製品を気に入った理由

Samples1

テキスト
50
顧客が使ったことのある他社製品チェックボックスの値(ON/Off)
Samples2 テキスト
50
顧客が使ったことのある他社製品チェックボックスの値(ON/Off)
Samples3
テキスト
50
顧客が使ったことのある他社製品チェックボックスの値(ON/Off)
Competition
テキスト
50
ドロップダウンリストの値

3. テキストフィールドのすぐ下のForm1内にオブジェクトパネルの[フォーム]カテゴリで[ボタンの挿入]をクリックしてボタンを挿入する。

4. ボタンを選択し、プロパティウィンドウ内で[ボタン名]に[Submit]、[ラベル]に[Submit]を入力し、[アクション]ラジオボタンで[フォーム送信]をクリックする。

5. Submitボタンのすぐ横に、オブジェクトパネルの[フォーム]カテゴリで[非表示フィールドの挿入]をクリックして非表示フィールドを挿入する。

6. 非表示フィールドを選択し、プロパティウィンドウ内で[非表示フィールド名]に[MM_insert]、[値]に[true]を入力して、保存する。

7. メニューの[ウィンドウ]-[コードインスペクタ]を選択し、コードビュー表示する。

8. <HTML>タグの前に VB Script(またはJAVA Script)でプログラムを書き込む。

9. [submit.asp]ファイルを保存して閉じる。

10 最初の行に

<%@LANGUAGE="VBSCRIPT"%>

   を記入する。

11. 変数宣言とeditAction宣言。

<!--#include file="Connections/survey.asp" -->
<%
' *** Edit Operations: declare variables
MM_editAction = CStr(Request("URL"))
If (Request.QueryString <> "") Then
MM_editAction = MM_editAction & "?" & Request.QueryString
End If
' boolean to abort record edit
MM_abortEdit = false
' query string to execute
MM_editQuery = ""
%>

12. Flashから受け取ったデータを解析して、Flashの変数名とデータベースのフィールド名を関連づける

<%
' *** Insert Record: set variables
If (CStr(Request("MM_insert")) <> "") Then
MM_editConnection = MM_survey_STRING
MM_editTable = "Splendos_survey"
MM_editRedirectUrl = ""
MM_fieldsStr = "PostDate|value|FirstName|value|LastName|value|LikeProduct|value|Why|value|samples1|value|samples2|value|samples3|value|Competition|value"
MM_columnsStr = "PostDate|',none,''|FirstName|',none,''|LastName|',none,''|LikeProduct|',none,''|Why|',none,''|Samples1|',none,''|Samples2|',none,''|Samples3|',none,''|Competition|',none,''"
' create the MM_fields and MM_columns arrays
MM_fields = Split(MM_fieldsStr, "|")
MM_columns = Split(MM_columnsStr, "|")
' set the form values
For i = LBound(MM_fields) To UBound(MM_fields) Step 2
MM_fields(i+1) = CStr(Request.Form(MM_fields(i)))
Next

13.  データベース接続を開き、sqlステートメントを作成する。

' append the query string to the redirect URL
If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then
If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then
MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
Else
MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
End If
End If
End If
%>

14. データベースに新しいレコードを追加するスクリプト

<%
' *** Insert Record: construct a sql insert statement and execute it
If (CStr(Request("MM_insert")) <> "") Then
' create the sql insert statement
MM_tableValues = ""
MM_dbValues = ""
For i = LBound(MM_fields) To UBound(MM_fields) Step 2
FormVal = MM_fields(i+1)
MM_typeArray = Split(MM_columns(i+1),",")
Delim = MM_typeArray(0)
If (Delim = "none") Then Delim = ""
AltVal = MM_typeArray(1)
If (AltVal = "none") Then AltVal = ""
EmptyVal = MM_typeArray(2)
If (EmptyVal = "none") Then EmptyVal = ""
If (FormVal = "") Then
FormVal = EmptyVal
Else
If (AltVal <> "") Then
FormVal = AltVal
ElseIf (Delim = "'") Then ' escape quotes
FormVal = "'" & Replace(FormVal,"'","''") & "'"
Else
FormVal = Delim + FormVal + Delim
End If
End If
If (i <> LBound(MM_fields)) Then
MM_tableValues = MM_tableValues & ","
MM_dbValues = MM_dbValues & ","
End if
MM_tableValues = MM_tableValues & MM_columns(i)
MM_dbValues = MM_dbValues & FormVal
Next
MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"

15.  sqlステートメントを実行する。。

If (Not MM_abortEdit) Then
' execute the insert
Set MM_editCmd = Server.CreateObject("ADODB.Command")
MM_editCmd.ActiveConnection = MM_editConnection
MM_editCmd.CommandText = MM_editQuery
MM_editCmd.Execute
MM_editCmd.ActiveConnection.Close

16. URLパラメータを使ってリダイレクトをする

If (MM_editRedirectUrl <> "") Then
Response.Redirect(MM_editRedirectUrl)
End If
End If
End If
%>
<<戻る