■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=読み込み完了&"」とすると上手くいきました。
何かご存知の方、ご教示頂けないでしょうか?よろしくお願いします。
手元に製品がないので 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 を外せるエディタを使うか、少し無駄ですが、いっその事
(初めの実験の通りに)& を頭につけてゴミを読み捨てる事で解決できると思います。
PHPスクリプトをUTF-8で記述していますか?
ご確認ください。
ご回答いただき、ありがとうございます。
PHPとデータベースでは、UTF-8を使用しています。
<?php の前に改行なりのゴミはありませんか?
又、エディタによっては UTF-8 保存する際、
先頭に BOM が付き悪さをする事があります。
ご回答いただき、ありがとうございます。
改行等は特に加えていません。試しに「echo "point=読み込み完了"」のみを記述したのですが同じ結果でした…。
エディタはMacromedia MX 2004で編集しているのですが、何か影響しているのでしょうか?
このあたりを参考に
&をつけないと駄目なのは、そういう仕様です。
URL?変数名1=値1&変数名2=値2
にってます。
FLASH->PHP、PHP->FLSHに値を渡すときは、CGIの仕様によって受け渡ししてるのです。
ご回答いただき、ありがとうございます。
CGIファイルを間にかませてはいないのですが…
&は必ず必要なんですね。
手元に製品がないので 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 を外せるエディタを使うか、少し無駄ですが、いっその事
(初めの実験の通りに)& を頭につけてゴミを読み捨てる事で解決できると思います。
ご回答いただき、ありがとうございます。
他のエディタで確認してみます。
ご回答いただき、ありがとうございます。
他のエディタで確認してみます。