• 締切済み

FLASH1→PHP→FLASH2 POST送信での受け取り方法。

FLASH 8の初心者です。 Sample.swfにあるボタンから、PHPを通してSample2.swfに値を送ろうとしています。そこで、送った値を判定して、そのフレームに移動するようにしたいと思っています。 現在はFLASH→PHP→FLASHというのはできるのですが、FLASH1→PHP→FLASH2という方法がわかりません。 ■Sample.swfのボタン A.onPress = function() { SendData = new LoadVars(); //データを送信するための箱。 _root.SendData.nakami1 = "sam"; //送りたいデータを箱に詰める //データ(中身)を詰めた箱をgetFlash.phpに送信 _root.SendData.sendAndLoad("http://localhost/Sample/Sample.php", _root.SendData); //3)getFlashからレスポンスが合った場合(SendDataにデータが帰ってきた時) _root.SendData.onLoad = function() { //受け取ったときの処理 if(this.val){    if(this.val1){ gotoAndPlay(2); } } } } これで、PHPに値を送っています。 <?php //2)Flashからデータを受け取る-Flashで使用した変数名 $test1 = $_POST["nakami1"]; //やりたい処理を書く if($test1 == "sam"){ $test1 = "name"; }else{ $test1 = "error"; } //Flashにデータを送る print "&val=true"; //上の結果を表示の実行。 print "&val1=".$test1; //val1に$test1の値を代入。 ?> この書き方でFLASH→PHP→FLASHはできるのですが、これをどのように変更したらFLASH2へ値を送れるのかわかりません。調べてもどのようにすればいいのかわからないので困っています。 FLASH2のほうではsetInterval文を使って、常にPHPからの送られてくる値を取得しようと思っています。 ★setInterval文 functionvar intervalID:Number=setInterval(getFunc,1000); getFunc(){ getURL("http://localhost/test/Sample.php", "_self", "GET"); if(val== "name"){ gotoAndpPay(2); } } このように書いたのですがどのようにすればPHPからの値を取得できるのかわかりません。このような書き方をしなくてもできるのでしょうか? どんなことでもいいので返事をよろしくお願いします・・・。

  • Flash
  • 回答数3
  • ありがとう数3

みんなの回答

  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.3

私も素人でよくわかりませんが, XMLSocket というものを使ってソケット通信をすればできると思います。 Google検索「XMLSocket Flash」 http://www.google.co.jp/search?hl=ja&q=XMLSocket+Flash Google検索「Socketサーバ Flash」 http://www.google.co.jp/search?hl=ja&q=Socket%E3%82%B5%E3%83%BC%E3%83%90+Flash OKWave「QNo.1270527 1.swfから2.swfへ変数の受け渡し」 http://okwave.jp/qa1270527.html

PROSTS
質問者

補足

いろいろ載せていただいてありがとうございます。ソケットという方法も考えましたが、今回はソケットを使わないで双方で通信できるようなシステム構築をしたいとしたいと思っています。 何か知っていることがあればアドバイスのほうよろしくお願いします。

回答No.2

申し訳ありませんがやろうとしているがよく見えませんが 以下のような構成でしょうか Webサーバ1: html(swf1) ‥ htmlにswf1が内包 Webサーバ2: php(swf2) ‥ phpが出力する結果のhtmlにswf2が内包 swf1 -> php -> swf2 を行いたい。swf1 -> phpまでは確認積み。 これであれば、 PHP側から引数付でswfを呼び出せばよいのでは? (リンク先は古いFLASHのときです。 AS3.0をお使いの場合は FlashVars + AS3 で検索してみてください。)

参考URL:
http://support.adobe.co.jp/faq/faq/qadoc.sv?228618+002
PROSTS
質問者

お礼

いろいろいじってなんとかswf1→swf2に繋げることができました。 わからない文章なのに、いろいろなアドバイスありがとうございました。これからもう少し頑張っていろいろなことに挑戦していきたいと思います。 次はソケットを使わないでswf同士で通信できるようにしてみたいと思います。また、何かありましたらアドバイスお願いします。

回答No.1

swf同士で通信させては如何でしょうか?(LocalConnection) または、親swfから子swf2つをロードする形にしては? 構成が良くわかりませんが、html内にswfが2つ指定して あるような形でしょうか?

PROSTS
質問者

補足

今回はswf同士で通信させようと思っています。 swfのボタンを押すと、PHPと連携させて、もうひとつのswfに送られるよういしたいと思っています。 家庭ネットワーク内で2台のパソコンを使ってswfを使ってのやりとりです。 swf内でボタンを押しPHPに値を送る→POSTで送られてきた値を判定し、それに合った値をもうひとつのswfに送る。→送られた値を判定し、それにあったフレームに移動。 このような感じです。わからないところ多いので、アドバイスお願いします。簡単にswf1からswf2のフレーム2に移動できればOKです。

関連するQ&A

  • PHPからデータをFlash(swf)に送りたいのですが

    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を使用しています。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • phpからクエリ文字列でswfへ変数を送る方法

    現在、別のファイルから取得した変数を下記のようにPHPからクエリ文字列でswfへ送り、それを表示するFLASHを作成しています。 一応、PHP内で直接変数を使わずに、文字列を送った場合は表示に成功しました。 ////////PHP///////// <object 略> <param name="movie" value="flash.swf?test=<?php $_POST["test"] ?>" /> <embed src="chat.swf?test=<?php $_POST["test"] ?>"/> ///////FLASH//////// test_txt.text = _root.test;        ///表示用テキストに代入 どうにかPHPで取得した値をそのままswfへ送りたいのですが、『<?php $_POST["test"] ?>』のところで上手くいっていないようです。 PHPもFLASHも参考書を読みながら進めている初心者なので、解決方法や根本的に勘違いしているところがあったら、ぜひ教えていただけないでしょうか。 開発環境はPHP5.2、AS2を使っています。

    • ベストアンサー
    • Flash
  • phpとフラッシュの連携

    今phpとフラッシュを連携する勉強をしているのですがどうしても動かないのでぜひ教えていただきたいです。 txt→php→swfの順にダイナミックテキストを使用して読み込むようにしています。 apacheとphpは動いています。MX2004を使用しています。 現在txt→phpやtxt→swfで表示はされるのですがtxt→php→swfとやると、何も表示されないのです。 変数やスクリプトを確認しても間違いっていません。 apacheやphpでフラッシュと連動させるときは何か他に設定などが必要なのでしょうか?よろしければ教えていただきたいです。 ちなみに下記にtxt、php、swfの中身を書いておきます。いずれも同じファイルの中にあります。 ・・・・・・・・・・・・・・・・・ txtの中(ファイル名はsamPHP01.txtです) テストです。 ・・・・・・・・・・・・・・・・・ phpの中(ファイル名はsam02a.phpです) <?php if (!($fileTxt = fopen ("samPHP01.txt", "r"))) { die("ファイルが開けません。"); } while (!feof($fileTxt)) { $vTxt = fgets ($fileTxt, 4096); } fclose($fileTxt); echo "txtIn=".$vTxt; ?> ・・・・・・・・・・・・・・・・・・・ swfの中(ダイナミックテキストのインスタンス名はphpTxt1です) varsData2 = new LoadVars(); varsData2.onLoad = function () { phpTxt1.text=this.txtIn; } varsData2.load("sam02a.php"); ・・・・・・・・・・・・・・・・・ よろしくお願いいたしますm(_ _)m

    • ベストアンサー
    • Flash
  • FLASHからPHPへ値送信

    質問させて頂きます。 FLASHからPHPへ配列データを送信したいのですが、FLASHで作成した配列をPHPに送信する事は可能か教えてください。 ボタンを押した時にPHPに配列データを送信たいと思っています。 以下ソース ■FLASH側 on (release) { data[0]="りんご"; data[1]="みかん"; //送信用インスタンスの生成 transmit = new LoadVars(); //受信用インスタンスの生成 receipt = new LoadVars(); //受信処理 receipt.onLoad = function(Success) { } //phpに配列データを送信 transmit.recData = data; transmit.sendAndLoad("test.php", receipt, "POST"); } ■PHP側(test.php) <?php $aaa = $_POST{'data'}; ----------PHP処理------------ ?>

  • phpからxmlへの文字化け

    PHPについての質問です。PHPのバージョンは5です。 FLASH8で作ったスクリプトからPHPに変数を送り、その変数をPHPからXMLに送っています。 しかしPHPからXMLに送ると日本語がちゃんと表示されません。何かPHPの方でしないとまずいのですか? <FLASH> System.useCodepage = true; SendData = new LoadVars(); //送りたいデータを箱に詰める this.btn_mc.onRelease = function() { _root.SendData.pro1 = nam; _root.SendData.pro2 = sbj; _root.SendData.pro3 = mail; _root.SendData.pro4 = product; //データ(中身)を詰めた箱をgetFlash.phpに送信 _root.SendData.sendAndLoad("http://localhost/php/xml_php/xml12.php", _root.SendData); }; <PHP> <?php /*変数を入れる*/ $name = $_POST["pro1"]; $sbj = $_POST["pro2"]; $add = $_POST["pro3"]; $msg = $_POST["pro4"]; /*時間を取得する*/ $stamp = time(); $date = date('Y,m/d(D)', $stamp); /*xmlに追加*/ $xml_path = "test1.xml"; $xml = file_get_contents( $xml_path ); $replace_key = "<article>"; $add_xml = $replace_key."\n<entry name='$name' dat='$date' tit='$sbj' contents='$msg'/>\n"; $result = str_replace($replace_key,$add_xml,$xml); file_put_contents( $xml_path , $result ); ?> <xml> <?xml version="1.0" encoding="utf-8"?> <article> <entry name="ha" dat="2008,03/10(Mon)" tit="test" contents="hogehoge"/> </article> となっています。

    • 締切済み
    • PHP
  • FlashからFlashへのPOST送信での変数受け取り方法

    Flash MXを使用している初心者です。 a.htmlに貼り付けたa.swfのボタンから b.htmlに貼り付けたb.swfの中に 変数を渡したいと思っています。 ◆GET送信では、a.swfのボタンに  on (release) { System.useCodepage = true; var my_lv = new LoadVars(); my_lv.sws = name1_txt.text; my_lv.send("b.html", "_top", "GET"); } と書き込み、 b.html部分には 以下のJavaScriptを書き込みました。 <script type="text/javascript"> var mydata = location.href.split("?")[1]; document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="550" height="400">'); document.write('<param name="movie" value="b.swf" />'); document.write('<param name="FlashVars" value="'+mydata+'" />'); document.write('<embed src="b.swf" FlashVars="'+mydata+'" width="550" height="400" type="application/x-shockwave-flash" />'); document.write('</object>'); </script> 以上の方法でGET送信のswf受け取りは成功したのですが、 POST送信のswf受け取り方法がわかりません。 POST送信までは、成功しているようなんですが、 その変数をswfに表示するには、どうすればいいでしょうか・・・? また、ローカルで確認可能でしょうか・・・? PHPやcgiがわからないので、 それらを使わない方法で、ご教授いただきたく、 よろしくお願いいたします。。

    • ベストアンサー
    • Flash
  • PHPからFlashへの配列の渡し方がわかりません

    こんにちは。 FlashとPHPの連係についての質問です。 どうしてもわからないのでどなたか手を貸してくださると助かります。 PHP側から$a=array("a","b","c")、という配列をFlash側に送ります。 その際、まずHTMLタグの<object>内にはどのように記述すればよろしいのでしょうか? またFlash側でその配列をどのように受け取り、その値を配列に入れたいのですがどのようにしたらよろしいでしょうか?? どなたかお願いいたします。

    • ベストアンサー
    • Flash
  • phpのpostについて

    a.phpの値をb.phpにpostしたいのですがうまく値が渡せません post元にはname属性に変数を用いているのですがpost先でnameをどのように指定したらいいかわかりません <a.php> <form action="foo.php" method="POST"> <div id="button"> <input type="submit" name ="PostGo" value="postTime" style="margin-right:30px;" /> </div> <table> <?php for ($data = 1; $data < 5; $data++) { ?> <tr><td> <select name="test<?php echo $data?>"> <option value=1>1 <option value=2>2 <option value=3>3 <option value=4>4 </select> <?php } ?> </table></form> <b.php> <?php for($i=1;$i<5;$i++){ $test =($_POST['test']);←ここの部分のpostをどう指定したらいいかわかりません echo $test; } ?> ※$_POST['test' + $i] これでも取れませんでした

    • ベストアンサー
    • PHP
  • PHPからFlashにXMLをそのまま渡す方法

    こんにちは PHPでXMLファイルを読み込み、それをそのままFlashに渡しFlash側でXMLをパーサしようと、このように書きました ------------------------------------------------------- (PHP) <?php $url = 'test.xml'; $h = fopen($url, "r"); $result_xml= ''; while(!feof($h)) { $result_xml.= fread($h, 4096); } fclose($h); echo "&data=$result_xml&"; ?> ------------------------------------------------------- (Flash) var xml:XML = new XML(); xml.load("work.php"); xml.onLoad = function(success:Boolean):Void { if (success) { trace(this.data); } }; ------------------------------------------------------- するとtraceの結果はundefinedでした。 PHPの出力結果が文字列型だということが原因のような気がするのですが、PHP側から文字列で出力するのではなく、XMLで出力するにはどうしたらよいでしょうか? リファレンスを探してみたのですが、なかなかそういった関数が見つかりませんでした。 よろしくお願いします。

  • バイナリデータからFlashを表示させる方法

    プログラム上でデータを書き換えて作成したtest.swfを 下記のようにするとブラウザ上で表示されますが echo "<object data=test.swf type=application/x-shockwave-flash width=550 height=400></object>"; ファイルを作成せずにブラウザ上で表示したいのですが、どのようにしたらいいでしょうか。 header('Content-type: application/x-shockwave-flash'); echo $swf_data; // test.swfのバイナリデータ とすると表示されますが、Flash以外に画面上に テキストボックスや、ボタンを表示したいのですが、 上記の方法ではできませんでした。 どのように記述すればいいのでしょうか? また、ご指摘するには情報が不足しているようでしたら、 不足情報をご指摘ください。

    • ベストアンサー
    • PHP