• 締切済み

ActionScript2.0とPHPの連携

下記のスクリプトをflashプレーヤー8.0、Action Script2.0 でムービーの書き出しを行って、実行すると 合計の計算結果蘭に「undefined」と表示され、 合計値がちゃんと表示されません。 どこが間違っているのでしょうか? 【test1.fla】 (scriptレイヤー) //Shift-jisを使う //System.useCodepage = true; //loadvarsobject作成 LV1=new LoadVars(); //送信が成功した場合 LV1.onLoad = function(success){ //LoadVarsオブジェクトに得られた計算結果を反映させる out1=LV1.out1; } gotoAndStop(1); (mainレイヤー) //送信ボタンが押されたとき on (press) { //LoadVarオブジェクトに変数をセット LV1.in1=in1; LV1.in2=in2; LV1.in3=in3; LV1.in4=in4; //LoadVarオブジェクトの内容をphpスクリプトへ送信する LV1.sendAndLoad("test1.php",LV1,"POST"); } 【test1.php】 <?php //Flashから送られてくる変数を受け取る $in1=$_POST['in1']; $in2=$_POST['in2']; $in3=$_POST['in3']; $in4=$_POST['in4']; //合計を求める $result=$in1+$in2+$in3+$in4; var_dump($result); //Flashに合計を伝える echo 'out1='.$result; //送信されてきた変数をログファイルに残す $fp=fopen("log.txt","ab"); fputs($fp,"$in1,$in2,$in3,$in4\n"); fclose($fp); ?>

みんなの回答

  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

私はFlash系はさっぱりなんだけど、もしActionScriptの方がばっちり動いているとして、そしてActionScriptがPHPからの応答として「out1=200」という文字列が返ってくる事を期待しているのであれば、その直前のvar_dumpが邪魔しているんじゃないかな? ざっと読んだだけだけど多分まずいのはそこ(PHPのレスポンスとActionScriptのLV1.onLoadイベントハンドラ間のインターフェース)だと思われる。 もしActionScriptのLV1.onLoadイベントハンドラでLV1にどんなものを受け取ったのか吐き出せるならそれを確認してみたらどうだろう。少なくともLV1.out1がundefinedになっている事は分かっているんだから、それ以外とかLV1自体がどんな感じになっているのか。 いや、僕はActionScriptはさっぱりだしLoadVarsオブジェクトがどんな事をするオブジェクトでsendAndLoadがどのようにデータをPHPに渡し、どのようにデータをPHPから受け取るのか知らないのでそこをあなた自身がまず確認せねばならんだろう。PHP側のログもin1~in4を受け取っているのか確認はできているだろうか。

すると、全ての回答が全文表示されます。

関連するQ&A