- ベストアンサー
onLoad が実行されない
変数1(value1)と変数2(value2)があり、それらを入力して ボタンを押すと、変数1+変数2の結果がPHP側で処理され、Flash側のtraceで出力される単純なプログラムを作ったのですが、どうもうまくいきません。 onLoadが実行されていないようなのです。 どこがいけないのかわかりません。 困っています。 誰か教えて頂けないでしょうか? 下記がソースです。よろしくお願いします。 //Flash側 on (release) { formData = new LoadVars () ; formData.value1 = value1 ; formData.value2 = value2 ; //受信用 receiveData = new LoadVars () ; formData.sendAndLoad("http://localhost/phptest.php", "receiveData", "GET") ; receiveData.onLoad = function(){ trace(receiveData.sum) ; } //PHP側 <?php $sum = $HTTP_GET_VARS['value1'] + $HTTP_GET_VARS['value2'] ; ?> 環境: windows XP , XAMPP, DREAMWEAVER8,FLASH8, IE6
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
その他の回答 (1)
- suzuki-_-
- ベストアンサー率77% (152/195)
関連するQ&A
- 受け取った値が"undefined"と表示されてしまう。
QNo.2601015で質問させて頂いた者なのですが、 もう一つ理解出来ない事がありましたので 再度質問させて頂きます。 変数1(value1)と変数2(value2)があり、それらを入力して ボタンを押すと、変数1+変数2の結果がPHP側で処理され、Flash側のtraceで出力される単純なプログラムを作成しています。 みなさんのお力で なんとかFlash側でデータを受け取るところまでは いけたのですが、受け取った値が”undefined”となってしまいます。 undefinedとは変数が未定義である時に表示されるのですよね? ソースのミスはないと思うのですが。。 下記がソースです。何度もすみませんが、よろしくお願いします。 //Flash側 on (release) { formData = new LoadVars () ; formData.value1 = value1 ; formData.value2 = value2 ; /受信用 receiveData = new LoadVars () ; receiveData.onLoad = function(){ trace(receiveData.sum) ; } formData.sendAndLoad("http://localhost/phptest.php", receiveData, "GET") ; } //PHP側 <?php $sum = $HTTP_GET_VARS['value1'] + $HTTP_GET_VARS['value2'] ; echo ('sum=' . $sum); ?> 環境: windows XP , XAMPP, DREAMWEAVER8,FLASH8, IE6
- 締切済み
- Flash
- sendAndLoadで
多分稚拙な質問です。 phpとの連携でsendAndLoadを利用しようとしてます。 var temp_vars = new LoadVars(); temp_vars.code.text = "tekitou"; temp_vars.sendAndLoad("http://tekitou.jp/tekitou.php", temp_vars, "POST"); temp_vars.onLoad = function() { trace(this.hogehoge); } とするとphpからの返り値hogehogeが取れるのですが、下三行を temp_vars.onLoad = function() { _root.temp_hogehoge = this.hogehoge; } trace(_root.temp_hogehoge); とするとtraceがundefinedになります。単純にphpからの返り値をどこでも使えるグローバル変数に渡したいだけなんですが。 諸々試してはみたのですが、変数スコープの問題なのか、functionの使い方が間違っているのかさえ解らず悩んでいます。ご教授いただければと・・・
- ベストアンサー
- Flash
- 外部テキストの値を得るには?
フラッシュ初心者&質問するのが初めてなので うまく伝わるかどうか心配ですがよろしくお願いいたします。 外部テキストnum.txtにはstr=5という記述があります。 このnum.txtを取り込んで、 5という数値をflash側で変数aaaに代入しました。 --------------------------- var vars = new LoadVars(); vars.load("num.txt"); vars.onLoad = function(num){ if(num){ aaa= vars.str; trace(aaa); } } --------------------------- この場合、ちゃんと5と出力されます。 しかしこの関数内のaaaという変数を他でも利用したいのです。 (例えばvar menu_num:Number = aaa;というように) 単純に下のように記述すると --------------------------- var vars = new LoadVars(); vars.load("num.txt"); vars.onLoad = function(num){ if(num){ aaa= vars.str; } } var menu_num:Number = aaa; trace(menu_num); --------------------------- undefinedが出力されます。 この時にちゃんと5と出力させるにはどうしたらいいのでしょうか。 いろいろグローバル変数など勉強しましたがうまくいきません。 ちなみに外部テキストnum.txtのstr=5というのは、 5という数字のみでもかまいません。 とにかくテキストから数値を取り出す方法を考えています。 ご回答お願いいたします。
- ベストアンサー
- Flash
- ActionScriptで分からないことがあります。
http://hakuhin.hp.infoseek.co.jp/main/as/import.html#IMPORT_01 の、import_01_fla08_as1.lzhについて幾つか質問です。 1.以下の部分で、LoadVarsってどういうことをするものなのでしょうか? var vars = new LoadVars (); 2.vars.load(url);ってどういう動作をしているのでしょうか? // テキストファイルを読み込む関数 function LoadTextFunc(url){ // テキストファイルを読み込む vars.load(url); _root.SetMessage("読み込み要求:" + url); } 3.以下のstr = vars.str;はどういう動作をしているのでしょうか? vars.onLoad = function(check){ if(check){ SetMessage("読み込みが完了して変数にアクセスが可能"); str = vars.str; }else{ SetMessage("読み込み失敗"); } }
- ベストアンサー
- Flash
- Flashからphpへ変数を持たせてリンク
ActionScript初心者です、よろしくお願いします。 Flashのボタンを押し、リンク先phpのページへ 変数で情報を渡し、Mysqlからその情報を基にした内容を引っ張って 表示させるようにしたいと思っています。 同じような質問を参考に試しているのですが、うまくいきません。 下記の記述ではたりないのでしょうか? Flash側 仮にAというボタンのアクションに記述 -------------------------------------------------------------- on (press) { a=new LoadVars(); a.brand = HOGE; a.sendAndLoad("URL?brand="+this.a); } -------------------------------------------------------------- php側 <?php $brand=$_POST["brand"]; 割愛 $sql="select * from DA01 where brand=$brand"; 割愛 ?> とこんな感じです。 php側はFlashページでない別htmlからのリンクテストを行い問題なく 表示出来ました。 なのでFlash側の記述が問題だと思います。 どう直せばよろしいでしょうか? またこの記述では動かないとなれば、例としてどういう記述がよりベストかご教示願えればと思います、よろしくお願いします。 環境: MySQL4 PHP4~ WEBserver Apache FlashMX
- ベストアンサー
- Flash
- actionscript2.0 とphp を用いてブラウザでswfファ
actionscript2.0 とphp を用いてブラウザでswfファイルを表示しています。 actionscript側では、 以下のようにsendAndLoadメソッドを用いて var send1 = new LoadVars(); test1.page = 1; test1.sendAndLoad("test.php",test1); send1.onLoad = function() { ロードした際の処理 } test.phpに値を送信しています。細かく言えば flash上のボタンが押された後にsendAndLoad し,1を送信しています。 それに対しphpでは、 <html> <head> </head> <frameset rows="55%,*"> <frame name='bottom1' src="test.php"> <?php // Action ScriptからのPOSTデータの取得 $page = $_POST['page']; print("<frameset cols='62%,*'>"); if ($page == 1){ print("<frame name='bottom2' src='test1.php'>"); }else{ print("<frame name='bottom2' src='test2.php'>"); } ?> </frameset> </frameset> </html> 上記のようにPhp側では$pageを受け取り、1であればフレームで指定されているファイルを test1.phpとします。$pageが空であればtest2.phpを下フレームに表示しています。 そしてメインとなるtest.phpではswfファイルを表示していて、そのFLASHのボタンをクリックして、test.phpにsendAndLoadしています。 動作なのですが、sendAndLoadして、testp.phpで値は取得しているのですが、 ページがロード(更新)されません。なので下フレームがtest1.phpからtest2.phpに 遷移しません。試しにsendのみしてみると、新しくブラウザが開き、そのページが更新されています。 新しくブラウザを開かないでframeによるページ更新をする方法はないのでしょうか? ご教授願います。 以下はsendのみの場合です。 var send1 = new LoadVars(); send1.page = 1; send1.send("***.php", "bottom", "POST");
- ベストアンサー
- Flash
- HTMLのvalue値を取得したい。
今、HTMLのフォーム内に <INPUT TYPE="image" name="point1" value="1" ALT="応募フォームへ" BORDER="0" HEIGHT="45" SRC="./img/img1.gif" WIDTH="127"><BR> <input type="hidden" name="point1" value="this.value"> という表示があります。 このvalue値を次の画面にいったときに取得したいのですが、うまくいきません。 PHP側で $req_data = $HTTP_POST_VARS; $req_data = array_merge($req_data, $HTTP_GET_VARS); print($req_data['point1']); とすると、表示されるのは this.valueです。。。 なにかよい方法はありませんでしょうか? よろしくお願いいたします。
- ベストアンサー
- PHP
- sendAndLoadで送信時に
PHPとFLASHで連携しようと思っています。 PHPは違う人が作っているので書いてある事が分からないのですが 下記のスクリプトを使ってPHPに変数を渡そうとしています。 しかし実行するとPOSTで届かずにGETで届いてしまいます。 どなたか理由が分かる方いませんか? btn_mc.onRelease = function() { var result_xml:XML = new XML(); result_xml.ignoreWhite = true; var SendData = new LoadVars(); SendData.id = id.text; SendData.pass = pass.text; urlpass = url.text; trace([SendData.id, SendData.pass, urlpass]); SendData.sendAndLoad(urlpass,result_xml,"POST"); result_xml.onLoad = function(success) { if (success) { hyouji.text = result_xml; } else { trace("失敗!"); } }; }; stop(); 情報少なくてすいません。
- ベストアンサー
- 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処理------------ ?>
- 締切済み
- Flash
- LoadVarsでPHPから変数を読み込む件について
質問させていただきます。 PHPで、変数$usernameに入っている値をActionScriptに渡したいのですが、上手くいきません。 ■PHP側 echo "name=".$username; ■ActionScript側 var username: LoadVars = new LoadVars(); username.onData = function(src) { if (src == undefined) { trace("Error loading content."); } trace(src); }; username.load("./view.php"); trace(username.name); 試しに上記のような形で実行してみました。 onDataの中の「trace(src)」の出力によると、PHPを読み込んではいるのですが、echoの部分だけではなく、<?php ~ ?>のように、PHP全体を読み込んでしまっていることがわかりました。(しかも何故か1行ずつ行間を空けた状態で…) ちなみに一番最後の「trace(username.name)」は何も出力されませんでした。 Webで調べると、例えばPHP側で「echo "name=admin";」のように、直接値を表示しているものばかりのような気がしました。 私のような場合、欲しい部分だけをloadするにはどうすればよいでしょうか。どうぞご教示願います。
- 締切済み
- Flash
お礼
なるほど! 文字列になっていたのですね!! 全く気がつきませんでした。 ””を消して 実行した所、無事 出力されました。 補足の説明も勉強になりました。 本当にありがとうございました。