• 締切済み

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
  • 回答数2
  • ありがとう数3

みんなの回答

  • wynnjp
  • ベストアンサー率71% (5/7)
回答No.2

テキストでとれているということは、ローカル環境でテストされているのでしょうか? だとすると、Flashは「http://~」のアドレスで呼び出していますか? もし、Flashをファイルとして呼び出しているのであれば、./view.phpもhttpのリクエストではなくファイルとして取得しにいくことになります。 IISにしてもApacheにしても、Webサーバーにはログを残す機能があると思いますので、phpの呼び出しログが存在するか確認すれば答えが見つかると思います。

  • wynnjp
  • ベストアンサー率71% (5/7)
回答No.1

PHPを実行できない環境でテストしていないでしょうか? 通常であれば、loadVarsはブラウザーを介して指定のURLから情報を取得するのでソースを取得することはできません(できてしまうと、セキュリティ上PHPのソースに重要な情報を何も書けなくなってしまいます) PHPさえ実行されれば、上記サンプルでは「trace(_root.name)」で値を取得できると思います。

drie1010
質問者

お礼

解答ありがとうございます。お返事が遅れて申し訳ありません。 一応PHPが動作する環境でテストしております。 しかし、質問に書いたとおり何故かソース全体が来てしまうんですよね。 まるでテキスト形式のファイルを呼んでるような感じなのです。 もしかして、ActionScript側からPHPだと認識されてないのでしょうか。そんなことはないですよね…何故でしょうね…

関連するQ&A

  • グローバル変数の呼び出し

    ムービークリップのActionScriptに on (press) { trace("name="+name); } と書き、メインフレームのActionScriptには _global.name; name="太郎"; と書きました。 ムービークリップをクリックするたびに名前が出力されるようにしたいのですが、うまくできません。

    • ベストアンサー
    • Flash
  • ActionScriptとphpの連携について

    ActionScriptとphpの連携について質問があります ActionScriptで受け取った値をphpに送り、その値をphp(htmlに埋め込み)で表示させたいと考えています。 動作としましては、 ・あらかじめテキストボックスに文字列が入力されている ・ボタンをクリックする ・別ウィンドウが出現(getURLでphpファイルを表示)テキストボックスに入力されていた文字列が表示される ・phpのファイルでラジオボタンで項目を選択し送信ボタンを押す ・MySQLに接続、ActionScriptで受け取った値とラジオボタンで受け取った値をまとめてデータベースに保存 というものにしたいです。 ボタンをクリックするまではすべてFlashで実現させています。 Flash→php→Flashという流れで値を表示させる方法はわかるのですが、Flash→phpで表示させることは可能でしょうか もし可能であれば、どのように実現したらよろしいでしょうか 現在はLoadVarsクラスのLoadVars.sendAndLoad()を使っています ActionScriptは2.0です 至らないところもございますが、素早い回答をお願いいたします

    • ベストアンサー
    • Flash
  • FlashからPHPへの変数の渡し方について

    初めまして。beterugiusと申します。 ご質問したいのですが、 まず、上下2フレームのindex.phpファイルがあります。 FLASHファイル(top_image.fla)は、シングルフレームのjpegイメージ(三枚の画像をPhotoShopで合成して、一枚のイメージにしてある。)です。 その.flaファイルを書き出した、.swfコンテンツ上をマウスが移動 すると、コンテンツ上のどの部分にマウスがあるかで、下フレームのTHMLが切り替わるようにしたいので、top_image.swf から、index.phpに対して、GETメソッドでページ番号の変数自身を 渡したいのですが、実際にFLASHコンテンツ上をマウスで動かしてみると、ブラウザのアドレス欄に、GETメソッドのクエリー文字列の「?」 だけは追加されているのですが、肝心の変数が渡されておらず、 下フレームのHTMLも切り替わりません。 どうすればちゅんと動くのか、どなたかご回答いただけないでしょうか? -------------------------------------------------------------- 「top_image.fla」 var sendObj:LoadVars = new LoadVars(); var page:Number; function onMouseMove(){ var x:Number = top_image._x; // グラフィックの中心座標 var y:Number = top_image._y; if( 0 <= y && y <= 316 ){ if( 0 <= x && x <= 255 ){ page = 1; sendObj.send("../php/index.php", "page", "GET"); } else if( 256 <= x && x <= 512 ){ page = 2; sendObj.send("../php/index.php", "page", "GET"); } else if(513 <= x && x <= 766 ){ page = 3; sendObj.send("../php/index.php", "page", "GET"); } } } -------------------------------------------------------------- 「index.php」 <html> <head><title>ActionScript2.0</title> <meta http-equiv="content-type" content="application/x-www-form-urlencoded"> </head> <frameset rows="350,*"> <frame name="top" src="../html/top.html"> <?php // Action ScriptからのPOSTデータの取得 $page = $_GET['page']; switch($page){ case 1: print("<frame name='bottom' src='../html/bottom1.html'>"); break; case 2: print("<frame name='bottom' src='../html/bottom2.html'>"); break; case 3: print("<frame name='bottom' src='../html/bottom3.html'>"); break; } if(is_null($page)){ // $page変数の中身がNULL(未定義)の場合 print("<frame name='bottom' src='../html/blank.html'>"); } ?> </frameset> </html> -------------------------------------------------------------

    • ベストアンサー
    • 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
  • flashアクションスクリプト LoadVarsについて

    はじめまして。初めて質問させていただきます。 onloadメソッドの中でロードしたデータを変数に代入したいのですが、うまくいきません。記述は以下のとおりです。 var hen; a_lv=new LoadVars(); a_lv.onLoad=function(a){ hen=this.txt } a_lv.load("b.txt"); trace(hen); 出力パネルに”undefined”と表示されてしまいます。 どうしたらうまくいきますか? 分る方いましたら、是非教えてください。

  • インスタンス名を変数に

    こんにちは。 インスタンス名を変数(imaMc)に格納して、x方向に移動したいのですが、エラーが出てしまってうまく行きません。 var imaMc:String; imaMc=scale_mc.name; stage.addEventListener(MouseEvent.CLICK,removeScaleset); function removeScaleset(evt:MouseEvent):void { trace(imaMc); imaMc.x=500; } 上記のようなスクリプトを組んでいるのですが、trace(imaMc)までは正常に動くのですが、imaMc.x=500が以下のようなエラーになってしまいます。 1119: Access of possibly undefined property x through a reference with static type String. これは何故でしょうか? traceするとscale_mcと出るので間違っていないと思うのですが・・・ ActionScript3.0です。 ご回答お願い致します!

    • ベストアンサー
    • Flash
  • phpで困ってます。

    phpでNotice: Undefined offset:のエラーが出て困っています。ご指導よろしくお願いします。 まず、name.txtの内容からチェックボックスを生成し、そのチェックボックスにチェックを入れて送信します。 <?php $name_file = "name.txt"; $name_log = array(); // ログファイルの読み込み if (file_exists($name_file)) { $name_log = file( $name_file ); } // ログの内容をHTMLに変換する $html = ""; $count = 0; //チェックボックスの生成 foreach ($name_log as $line) { $checkbox = '<label><input class="che" type="checkbox" name="n['.$count.']" value="'.$line.'"><img src="'.$line.'"></label></br>'; $html .= $checkbox; $count ++; } $html .= '<input type="hidden" name="count" value="'.$count.'">'; ?>   後略 次に受け取る側ですが,チェックが入っている情報をもとにimgタグを生成しようとしています。 <?php $html = ""; $max = $_POST['count']; //n[ ]に送信されきた内容を代入 for ($i = 0; $i < $max; $i++) { if($_POST['n'][$i] != ''){ $img_src = htmlspecialchars($_POST['n'][$i], ENT_QUOTES); $img = '<img src="'.$img_src.'">'; $html .= $img; } } $fhn = fopen("show_html.txt","w"); fwrite($fhn,$html); fclose($fhn); ?> 後略 if($_POST['n'][$i] != '')の部分で Notice: Undefined offset:0 .............. Notice: Undefined offset:1 .............. Notice: Undefined offset:2 .............. . . . . のエラーが出ます。

    • ベストアンサー
    • PHP
  • 【Flash】PHPを使って変数を読み出し

    【count.php】にこのようなスクリプト記述。 動作はここで確認できます。 【ttp://flash-moe.yi.org/count/count.php】 <?PHP ini_set('display_errors', '1'); $file = file_get_contents ("./count.txt"); $file++; file_put_contents ("./count.txt", $file); $file = mb_convert_encoding($file, "UTF-7", "EUC-JP"); echo $file; ?> それを【LoadVars】を使って値を取得させるには どうしたらいいのか?教えてくださいm(_"_)m

    • ベストアンサー
    • Flash
  • 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で出力するにはどうしたらよいでしょうか? リファレンスを探してみたのですが、なかなかそういった関数が見つかりませんでした。 よろしくお願いします。

  • PHPでMYSQLを使ったログイン

    PHPでMYSQLを使いってログインフォームを作ったのですが 画像の上の方ようなテーブルを作りPHP側のログインフォームでログインしてもらい 画像のusernameの[S]でログインしたらIDとFirst NameとLast NameをPHPで 画像の下の方のように表示するようにしたいのですが echo "<tr><th>ID</th><th>USERNAME</th><th>First Name</th><th>Last Name</th></tr>"; $st = ("select * from kd3musers where username='$username'"); (この間) echo "<tr><td>$id</td><td>$username</td><td>$first_name</td><td>$last_name</td></tr>"; (この間)の中身がわかりません。 別の書き方や、わかる方がいましたらよろしくお願いします

    • ベストアンサー
    • PHP

専門家に質問してみよう