基本的なフォームの作成
Flashからサーバにデータを渡すことは比較的簡単です。必要なものはFlashのフォームだけです。一つのレイヤーと一つのフレームから構成されるFlashムービーで、基本的なフォームを構成することができます。ここでは、Flashの基本的な内容を収めた簡単なフォームを作成してみます。フォームを作るのはそれほど難しいことではないでしょう。01 新しいFlashファイルを開き、メニューバーの[修正]−[ドキュメント]を選択してドキュメントプロパティウィンドウを表示し、ムービーの背景色を設定します。
02 テキストツールを使ってボックスを作成し、プロパティで「テキスト入力」を選択します。プロパティボックスで「単一行」を選択し「インスタンス名」と「変数名」に「FirstName」と入力します。「ボーダー」アイコンをクリックして、ボーダーをONにし、フィールドを見やすくします。これでユーザーがデータを追加できるフィールドが作成されます。
03 テキストフィールドをalt(option)キーを押しながらドラッグする操作を繰り返して5つ複製します。これで、無地の背景色を持つテキストフィールドの6つのインスタンスができました。
04 メニューバーの[ウィンドウ]−[整列]を選択して「整列」パネルを表示し、作成した6つのテキストフィールドを縦方向に整列させます。
05 複製したインスタンスのフィールド「インスタンス名」と「変数名」を順に「LastName」「Birthday」「LikeProduct」「Why」「Samples」とつけます。
※ これらの名前は、ASPファイルで処理するフィールド名に一致させる必要があります。06 次の表にしたがって、各テキストフィールドの左側に質問事項のテキスト(静止テキスト)を追加します。
インスタンス名 変数名 静止テキストの内容FirstName FirstName あなたの姓 LastName LastName あなたの名 Birthday Birthday 生年月日 LikeProduct LikeProduct この製品が気に入りましたか?(はい/いいえ) Why Why その理由は何ですか? Samples Samples 他の製品を使ったことがありますか? 07 次に閲覧者がフォーム送信できるように、Flashでボタンとして動作するシンボルのインスタンスをステージ上に追加し、ボタンを選択した状態でアクションパネルを開き、以下のようなボタンアクションスクリプトを割り当てます。
※ [ウィンドウ]−[サンプルライブラリ]−[ボタン]を選択すると、予め用意されているボタンのライブラリが表示できます。「Component Buttons」フォルダの中の「Pill Buttons」を選択して、ドキュメントウィンドウにドラッグします。プロパティウィンドウのパラメータタブ内でインスタンス名に「SubmitButton」という名前をつけ、ラベルに「Submit」と入力した後、ボタンの幅と色を調節してください。※ ここでは、「submit.asp」というASPファイルを使うように指定しています。フォームとして送信されたデータをどのように処理するのかは、ASPファイルの中に別途プログラミングする必要があります。FlashムービーとASPファイルは同じディレクトリに置くようにしてください。
08 「database.fla」という名前をつけてファイルを保存します。
※ここで作成したフォームは、最も基本的なアンケートフォームです。ユーザーが行うべきことは、空白欄に記入して[送信]ボタンをクリックすることだけです。Fladhでは、複数行のテキストフィールド、チェックボックス、ドロップダウンリストボックスなど、豊富なフォームオブジェクトが予め「UIコンポーネント」として用意されています。1. データ処理フラグ
MM_insertは、サーバーページ(ここではASP用の「submit.asp」ファイル)の中で使われる変数で、データベースの更新処理の為のフラグです。「true」または「false」の値を要求します。
submit.asp内のスクリプト(VBScript)では、このフラグがtrueのときにのみ、データベースにデータを挿入するように記述されています。2. ASPファイルへのデータ送信
Flashが次に行うステップは、ASPファイルへのデータの送信です。
loadVariables ( "submit.asp", "", "POST") ;
loadVariables アクションをPOSTオプションで使うことによって、サーバにデータを送信することができます。
データは一つ目の引数「submit.asp」に対して送られます。
サーバはFlashフォームから収集したデータを解析し、ASPファイルに記述されたスクリプトによってFlashから渡された変数の値からデータベースの更新用のSQLステートメントを作成します。ここでは、MM_insertの値がtrueの場合、データベースのフィールドと同名の変数の値を対応付け、データベースの更新処理を行います。3. 終了画面の表示
最後のステップではデータが無事アップロードされたときにユーザーにお礼のメッセージを送信します。これは、次の行で実行されます。
getURL ( "thankyou.htm", "_self" ) ;
getURLアクションは、お礼のページ(ここでは「thankyou.htm」を取得し、それをWebブラウザのウィンドウに読み込みます)
※ この例では、「.swf」ファイルと同じディレクトリに保存されているASPファイルを使います。しかし実施あのWebサーバでは、スクリプトの実行権限を割り当てたフォルダにスクリプトファイルを置き、それを参照する場合が多くなります。そのため、更新する必要があるのはloadValiablesアクションの一つ目の引数のファイルの指定の部分です。例えば、次のようにファイルURLを完全に指定することもできます。
loadVariables("http://www.servername.com/directory/load.asp", "", "POST") ;
ファイルのURL指定には、相対パスも利用できます。
loadVariables("./directory/load.asp", "", "POST") ;