プロが教える店舗&オフィスのセキュリティ対策術

FlashのPost受け渡し方法が分かりません。
ネットで検索するとFlash→CGI→Flashや、外部テキストの読み込み方法などはたくさんヒットするのですが、CGI→Flash、HTMLフォーム→Flashというような目的のものは見つかりませんでした。

POST渡しで外部ファイル名を渡し、その外部ファイルからテキストを読み込んで、ダイナミックテキストで表示するというものを作ろうと思っています。

この場合はどのアクションを使うと良いのでしょうか?
LoadVars()? loadVariables()? sendAndLoad()?

ネットで検索した情報から色々試してみてはいるのですが、全く分かりません。助けてください!


環境:
Windows XP
Flash MX
PHP 4.2.4

よろしくお願いいたします。

A 回答 (3件)

> LoadVars()? loadVariables()? sendAndLoad()?


この辺は基本的にはFlash→CGI→Flashに使うものです。

CGI→Flashの場合は、例えばフラッシュを呼び出すURLに仕込んでおいて(あなたの環境ではPHPからFlashを呼び出せば良いと思います)、

<embed src="test.swf?var1=変数1&amp;var2=変数2"></embed>
のようにすればFlashに変数が渡ります。あまりスマートじゃないかもしれませんが、いちばん単純な変数の渡し方です。PHP等と同じ訳です。
ここで注意するのは、var1=○○&var2=○○の" & "を参照文字&amp;に置き換えると言う事です。
日本語の場合はUTF-8かShift-Jisにする必要があります。System.useCodepage = true;//Shift-JIS, False はUTF-8
日本語の取扱いは案外大変なので、とりあえず試験しながらやってみて下さい。URLエンコードすると言う手もあります。

HTMLフォーム→Flashの場合はもっと単純で、フォームに変数名を指定して○○.swfにすれば良いです。ただしこの場合はブラウザいっぱいにFlashが表示され、大きさや位置の指定は出来ません。
すなわち、
<form action="test.swf" method="get">
<input type="text" name="var1">
<input type="text" name="var2">
<input type="submit" value="send">
</form>
としてtest.swfに渡す事が出来ます(結局先のURL指定と同じですね)。

渡って来た変数の参照方法ですが、これはそのまま
var1、var2で参照出来ます。
試験的にダイナミックテキストの変数名をvar1やvar2にして試験してみて下さい。

簡単な試しスクリプトを用意して諸々やっているうちに出来ると思います。

では。

この回答への補足

ありがとうございます!!
とりあえずそれでやってみることにします。

ただ、この場合、変数の値が丸見えになるということですよね。
見えなくする方法ってないのでしょうか?

よろしくお願いいたします。

補足日時:2005/05/25 10:02
    • good
    • 0

>ただ、この場合、変数の値が丸見えになるということですよね。


>見えなくする方法ってないのでしょうか?

当然丸見えになってしまいます。
これはPOSTでもGETでもフォームでポストする以上しょうがないです。

どうしても見せたく無い場合には、Flash側から「読みにいく」と言う事になります。最初の質問がPOSTと言う事なのでPOSTでの対処法について書きましたが。

読みにいく場合のサンプルスクリプトを。

MyData = new LoadVars(); //LoadVarsオブジェクト作成
MyData.load("http://your.domain/test.php"); //変数を渡すPHP

これで読み込む事が出来ます。
test.php は a1=変数1&a2=変数2

というな文字列を返すようにし、
var1 = MyData.a1;
var2 = MyData.a2;

で参照出来ると思います。

この時、日本語の場合は文字エンコードの関係がありますので、Shift-JISの場合は最初に
System.useCodepage = true;
としておき、PHPもShift-JISで出力する必要があります。同様にUTF-8の場合はFALSEです。

下記にサンプルスクリプトがありますので参考にしてみて下さい。

参考URL:http://www.shoeisha.com/down/book/4798102520/win …
    • good
    • 0
この回答へのお礼

ありがとうございます。

しかし、この場合はFlash→CGI→Flashですよね。ネットで検索してもこれがたくさんヒットするあたり、今のところこの方法が最有力なのでしょうね。
php主体で作ってしまったので、この方法に変える時間がなかったため、とりあえず最初の回答方法でやっています。時間をみてこの方法に作り変えてみます。

ありがとうございました。

お礼日時:2005/05/28 18:13

http://jadore.jp/~php-zone/portfolio/flash_php02 …

php-zone
というサイトに実験がありますよ。

どうでしょうか??

参考URL:http://jadore.jp/~php-zone/portfolio/flash_php02 …
    • good
    • 0
この回答へのお礼

ありがとうございます。

しかし、これもFlash→CGI→Flashですね。
でも、参考になりました。ありがとうございます。

お礼日時:2005/05/28 18:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!