プロが教えるわが家の防犯対策術!

PHPに下記のように記述し、データを ActionScript で作成したフラッシュのtarget.swfファイルに送ろうとしています。
データがtarget.swfファイルに渡らなくて困っています。教えていただけないでしょうか。

PHP側:
$data="sample";********渡したいデータです。*****
print"
<object-----swfファイル
中略
<parameter name=\"movie\" value=\"target.swf\" ?sendData=$data>
中略
";

swfファイル側:
test.text=sendData;*****渡したデータを読み出すものです。*****


環境は、連絡サーバのPHP5とActionScript2を使用しています。

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

A 回答 (1件)

PHP のことはよくわかりませんが,


PHP で生成した HTML に SWF を表示させるときに,
その SWF に表示させた時のみ,変数を送信したいということでしょうか?

それだと,
普通は FlashVars を使います。

「FlashVars を使用して SWF へ変数を渡す」
http://www.adobe.com/jp/support/flash/ts/documen …

送信した後の使い方例は,
私の回答ですが次のURLが参考になりますでしょうか。

「再生するフレームを指定」
http://oshiete1.goo.ne.jp/qa2582387.html
 ↑教えて!goo ↓OKWave (同じです)
http://okwave.jp/qa2582387.html

どこに渡されたかなどを把握しておけば,何にでも使えます。

--------------------------------------------------------

ちなみに
その SWF に表示させた時のみではなく,
SWF 再生中に PHP などから値を送信するときは,
PHP からの送信は難しいので,
SWF 側から PHP に値を受け取りに行くようにさせます。

「loadVars.sendAndLoad()メソッド。データ送受信」
http://www.1art.jp/flash/le/lesson47/lesson47.htm



ご質問内容があまり理解できておりませんので,
見当違いの回答をしていましたら申し訳ございません。

この回答への補足

早速のご回答ありがとうございます。

わかりにくい説明で申し訳ありませんでした。
実はご指摘いただいただいた「loadVars.sendAndLoad()メソッド。データ送受信」を使いたくて試行錯誤していましたがloadVars.sendAndLoad()が動作しないので今回の質問になりました。でも、最終目的はPHPとswfとのデータのやり取りです。

教えていただいたサイトを参考にして下記のようにしてみました。
swfファイル側:
on (release) {
var name1="sample";
var send_lv:LoadVars = new LoadVars();
(1)    send_lv.name1 =name1;
var load_lv:LoadVars = new LoadVars();
load_lv.onLoad = function(success) {
result = load_lv.name2;
};
send_lv.sendAndLoad("test.php", load_lv, "POST");
}

PHP側(ファイル名はtest.php):

(2) print $_POST['name1'];
  print";
  <object 中略 ****swf ファイル記述****</object>
  ";
私はswf側の(1)「send_lv.name1」 で[sample]というデータが
変数名の「name1]に格納されて送信され、PHP側の(2)$_POST['name1']で受け取られると考えました。
しかし、このデータが表示されませんでした。
また、私はPHP側で「load_lv.name2」に相当するname2を送信する
やり方が分かっていません。
PHPの質問のようで恐縮ですが、もしヒントがいただけるようでしたらよろしくお願いしたいのですが。

補足日時:2006/12/28 23:31
    • good
    • 0
この回答へのお礼

sassakun様

ありがとうございました。PHPのことはよくわかりませんがとおっしゃられた
sassakun様に大変なお手数をおかけいたしました。

補足に書き込んだ件ですが、下記のようにして解決いたしました。

swf側の(1)「send_lv.name1」 の[sample]というデータが変数名の「name1]に格納されて送信され、PHP側の(2)$_POST['name1']で受け取ることができました。
「load_lv.name2」に相当するname2を送信するのはPHP側に下記のような記述をしました。
 echo '&name2=.$name2.'&';

今後もよろしくお願いいたします。

よいお年をお迎えください。

お礼日時:2006/12/29 22:04

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