(AS3和PHP)从php发送多个值到flash

时间:2014-06-30 15:54:53

标签: php mysql database actionscript-3 flash

我试图将多个值从PHP发送到Flash。我知道如何使用PHP的printecho发回一个值,然后使用e.target.data.在flash中发送...

PHP:

print "resultMessage=$something";

闪光:

var resultText:TextField;
resultText.text = e.target.data.resultMessage;

问题在于尝试接收2个值;我尝试过像......

PHP:

print "resultNumber=$somethingNumber";
print "resultName=$somethingName";

闪光:

var flashNumber:TextField
flashNumber.text = e.target.data.resultNumber;
var flashName:TextField;
flashName.text = e.target.data.resultName;

但是当我尝试这样的时候,flashNumber会以flashNumber和flashName结合在一起,如2Tom or 7Mary或类似的东西。 我尝试在PHP中的2个值之间打印<br>,但我仍然得到相同的结果。我知道我可以将PHP分成两个PHP文件并从每个文件中获取一个值,但这有点荒谬,因为在我的程序中我需要获得很多值。

还有另一种方法可以将值从PHP发送到Flash,以便我可以发送超过1个值吗?或者,有没有办法使用printecho发送超过1个值?

非常感谢你。

2 个答案:

答案 0 :(得分:1)

您可以通过以标准URL编码变量格式输出数据来执行此操作。 (您需要应用程序用来分隔变量的&符号 - 否则它会认为第一个=之后的所有内容都是值)

例如:print "resultNumber=$somethingNumber&resultName=$somethingName";

然后AS3应该按照你的方式自动工作。


您也可以根据其他人的建议输出XML或JSON。

<强> JSON

PHP

<?php
$arr = array(somethingName, somethingNumber);

echo json_encode($arr);
?>

AS3

var jsonObj = JSON.parse(e.target.data);
trace(jsonObj.somethingName, jsonObj.somethingNumber);

<强> XML

PHP

<?php
$string = <<<XML
<data>
 <somethingName>
  blah blah blah
 </somethingName>
 <somethingNumber>
  12345
 </somethingNumber>
</data>
XML;

$xml = new SimpleXMLElement($string);

echo $xml->asXML();

?>

AS3

myXML = new XML(e.target.data);
trace(myXML.somethingName, myXML.somethingNumber);

答案 1 :(得分:0)

更好地使用一些数据格式而不是将数据作为纯文本传递 - XML或JSON是一个好主意。