前回はActionScriptでswfからPHP経由で値を取得する方法について説明しました。
今回はケータイFlashでのテキスト入力フォームの作り方について説明します。
参照:ActionScriptで文字列をPHPから動的に取得しよう
検索フォームや登録フォームなど、HTMLでは普通にフォーム関連のタグが用意されています。
FlashでもUIコンポーネントというフォーム用パーツが存在しますが、FlashLiteでは使用できません。
FlashLiteではテキスト入力とボタンを組み合わせてフォームの代わりになるものを作ります。
swfファイルを用意する
まずはテキスト入力フォームの作り方を説明していきます。
あらかじめパブリッシュバージョンFlashLite1.1で240px×240pxの入力フォームを用意します。
タイトルと項目名を静止テキストで配置します。
次にテキスト入力とボタンを作成します。
テキスト入力には変数を指定しておきます。
ここでは「comment」としておきます。
→[図69]
テキスト入力フォームを使用する2つのケースについて説明します。
一つ目のケースはボタンクリック後にページを遷移する方法です。
ボタンにアクションを指定します。
on (press) { getURL("sample2016.php", _blank, "GET"); }
PHPに対してgetURLでアクセスすると、テキスト入力に入力した値が変数名でPHPに送信されます。
getURLの送信に今回はGETメソッドを指定していますが、POSTメソッドでも送信可能です。
→[図70]
二つ目のケースは画面遷移なしでデータを送受信する方法です。
もう一つボタンを作成します。
結果を受け取るダイナミックテキストを配置します。変数名は「res」とします。
→[図71]
ボタンにアクションを指定します。
on (press) { loadVariables("sample_response2016.php", _root, "GET"); }
loadVariablesではauがPOSTメソッドに対応していないので送信はGETメソッドで行います。
→[図72]
loadValiablesでPHPにアクセスした結果を読み込むと、以下のように結果が返ってきます。
res=値
この文字列の値の部分が変数「res」に読み込まれます。
できたらパブリッシュしてサーバーにアップロードします。
Flashから遷移するPHPの処理
次は値をFlashから受け取って表示するPHPを作成します。
sample1926.php
echo "コメント欄に「{$comment}」と入力されました。";
ソースの詳細は省略します。
Flashにデータを返すPHPの処理
最後に値をFlashから受け取ってレスポンスを返すPHPを作成します。
実際のソースは以下の通りです。
sample_response1926.php
<?php /* * 取得した値をFlashが読み込める形で出力するサンプル */ // データ取得 $comment = $_GET['comment']; // 内部文字コードに変換 $comment = mb_convert_encoding($comment, "UTF-8", "SJIS"); // 文字列整形 $output = "res=コメント欄に「{$comment}」と入力されました。"; // ヘッダ出力 header('Content-type: text/plain'); // SJISに変換 $output = mb_convert_encoding($output, 'SJIS', 'UTF-8'); // 出力 echo $output; ?php>
まとめ
できたらswfファイルにアクセスして名前を入力してボタンをクリックすると2通りの結果が確認できるかと思います。
結果1→結果を表示するPHPに遷移
結果2→結果をPHPから取得してswf内のダイナミックテキストに表示
flaファイルサンプル
sample2016.zip※Flash8形式
→こちらよりダウンロードしていただけます。
実行例
実行例はこちらからご確認下さい。
→URLをメールで送る
http://ookura.tanikaze.com/Sample/post2016/
Flashサイト動的生成関連の記事一覧
1.ケータイFlashの概要
1-1 ケータイFlashの概要について
2.ケータイFlashのページ作成
2-1 ケータイFlashのページを作ってみよう
2-2 ケータイFlashで縦スクロールするページを作ってみよう
3.swfmillでケータイFlashを動的生成
3-1 swfmillでケータイFlashを動的生成してみよう(インストール編)
3-2 swfmillでケータイFlashを動的生成してみよう(文字列置換編)
3-3 swfmillでケータイFlashを動的生成してみよう(画像置換編)
3-4 ケータイFlashのレイアウトを文章量に同期させよう
4.ActionScriptとPHPの連携
4-1 ActionScriptで文字列をPHPから動的に取得しよう
4-2 ケータイFlashでテキスト入力フォームを作ろう