通过PHP将多个值传递给flash

时间:2009-02-09 19:10:34

标签: php flash

这是代码

<php?  
$id1 =1;
$id2 = "module 1 loaded";
echo "$var1=$id1","$var2=$id2";
?>

我知道这是不正确的,我如何才能将这两个变量传递给flash

6 个答案:

答案 0 :(得分:6)

<?php

echo http_build_query( array(
     'var1' => 1
    ,'var2' => 'module 1 loaded'
));

答案 1 :(得分:2)

如果你想创建一个输出可以加载LoadVariablesLoadVars的数据的脚本,你需要这样的东西

//set up your values 
$vars=array();
$vars['foo']='bar';
$vars['xyz']='123';

//output     
header ("Content-Type: application/x-www-urlformencoded");
$sep="";
foreach($vars as $name=>$val)
{
    echo $sep.$name."=".urlencode($val);
    $sep="&";
}

如果你的PHP版本支持它,http_build_query使这更容易:

$vars=array();
$vars['foo']='bar';
$vars['xyz']='123';

header ("Content-Type: application/x-www-urlformencoded");
echo http_build_query($vars);

答案 2 :(得分:2)

Paul Dixon的代码片段是您在PHP方面所需要的。这是flash部分:

myVars = new LoadVars(); 
myVars.load("http://localhost/foo.php");

myVars.onLoad = function (success) {
     if (success) {
        for( var attr in this ) {
            trace (" key " + attr + " = " + this[attr]); 
        }
    } else {
        trace ("LoadVars Error"); 
    }
}

注意,您需要将循环逻辑替换为您的应用程序所需的任何内容。

答案 3 :(得分:1)

不应该只是以查询字符串的形式出现:

echo $var1.'='.$id1.'&'.$var2.'='.$id2;

确保密钥和值是urlencoded。

答案 4 :(得分:0)

PHP代码:

<php?  
$id1 =1;
$id2 = "module 1 loaded";

print "&var1=$id1";
print "&var2=$id2";

?>

我相信这会奏效......

答案 5 :(得分:0)

Flash代码:

btn.onPress = function(){

   testLoadVars = new LoadVars();

   testLoadVars.onLoad = function(success){

      if(success){
         trace(testLoadVars.var1);
         trace(testLoadVars.var2);
      }
      else
         trace("error");
   }
   testLoadVars.sendAndLoad("http://localhost/filename.php?uniqueID=" +  getTimer(),testLoadVars,"POST");

}

这就是全部......遇到任何问题?