Flash(swf)でPHPを使用してデータベースにアクセスし、結果をFlashに表示したいと思っているのですが、出力結果は「undefined」となります。


■PHP(ver5)
echo "point=".$point;

■Flash(CS3,as2)
objLoadVars = new LoadVars();
objLoadVars.onLoad = loadEnd;
objLoadVars.load("test.php");
function loadEnd(src) {
trace(objLoadVars.point);
}

試しに、「echo "point=読み込み完了"」とすると上手くいかなかったのですが、「echo "&point=読み込み完了&"」とすると上手くいきました。

何かご存知の方、ご教示頂けないでしょうか?よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2010/09/29 17:57:50
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:yoya No.4

回答回数2ベストアンサー獲得回数1

ポイント100pt

手元に製品がないので google で調べた限りの話ですが、

Macromedia MX 2004 の UTF-8 保存時には BOM を付けるようです。

Macromedia MX でファイルを開いても見えませんが、

<?php の前に 3byte のマーカー(<ef><bb><bf>)が付きます。


BOM を表示できるエディタで開くと、

<ef><bb><bf><?php echo "point=test";  ?>

となり、PHP は <?php の前をそのまま出力するので、結果、

<ef><bb><bf>point=test

(= の前が全部変数名)

の形式でパラメータが渡ってくるはずです。

& を頭につけてパラメータを受け取れたのは、

<ef><bb><bf>&point=test

のように、

<ef><bb><bf>と point の2つの変数に

別れたのだと推測できます。


BOM を外せるエディタを使うか、少し無駄ですが、いっその事

(初めの実験の通りに)& を頭につけてゴミを読み捨てる事で解決できると思います。

id:lily0717

ご回答いただき、ありがとうございます。

他のエディタで確認してみます。

2010/09/29 08:18:12

その他の回答3件)

id:deflation No.1

回答回数1036ベストアンサー獲得回数126

ポイント50pt

PHPスクリプトをUTF-8で記述していますか?

ご確認ください。

id:lily0717

ご回答いただき、ありがとうございます。

PHPとデータベースでは、UTF-8を使用しています。

2010/09/28 08:12:29
id:yoya No.2

回答回数2ベストアンサー獲得回数1

ポイント50pt

<?php の前に改行なりのゴミはありませんか?

又、エディタによっては UTF-8 保存する際、

先頭に BOM が付き悪さをする事があります。

id:lily0717

ご回答いただき、ありがとうございます。

改行等は特に加えていません。試しに「echo "point=読み込み完了"」のみを記述したのですが同じ結果でした…。

エディタはMacromedia MX 2004で編集しているのですが、何か影響しているのでしょうか?

2010/09/28 20:54:40
id:ko8820 No.3

回答回数1221ベストアンサー獲得回数69

ポイント50pt

http://www.phppro.jp/qa/938

このあたりを参考に


&をつけないと駄目なのは、そういう仕様です。

URL?変数名1=値1&変数名2=値2

にってます。

FLASH->PHP、PHP->FLSHに値を渡すときは、CGIの仕様によって受け渡ししてるのです。

id:lily0717

ご回答いただき、ありがとうございます。

CGIファイルを間にかませてはいないのですが…

&は必ず必要なんですね。

2010/09/29 08:15:35
id:yoya No.4

回答回数2ベストアンサー獲得回数1ここでベストアンサー

ポイント100pt

手元に製品がないので google で調べた限りの話ですが、

Macromedia MX 2004 の UTF-8 保存時には BOM を付けるようです。

Macromedia MX でファイルを開いても見えませんが、

<?php の前に 3byte のマーカー(<ef><bb><bf>)が付きます。


BOM を表示できるエディタで開くと、

<ef><bb><bf><?php echo "point=test";  ?>

となり、PHP は <?php の前をそのまま出力するので、結果、

<ef><bb><bf>point=test

(= の前が全部変数名)

の形式でパラメータが渡ってくるはずです。

& を頭につけてパラメータを受け取れたのは、

<ef><bb><bf>&point=test

のように、

<ef><bb><bf>と point の2つの変数に

別れたのだと推測できます。


BOM を外せるエディタを使うか、少し無駄ですが、いっその事

(初めの実験の通りに)& を頭につけてゴミを読み捨てる事で解決できると思います。

id:lily0717

ご回答いただき、ありがとうございます。

他のエディタで確認してみます。

2010/09/29 08:18:12

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません