将变量从AS3传递给PHP

时间:2016-03-24 14:16:54

标签: php actionscript-3

我目前正在做一个Flash游戏,记录所花费的时间并将其发送到php。目前,我的游戏正在运行,可以正确追踪所花费的时间。 URLLoader也正常工作,但我的php页面似乎无法从$ _POST获得结果。我在下面发布了我的代码。

我很感激任何帮助。已经尝试了各种方法,但是无法正常工作。我要么在单独的窗口上打开processScore.php并显示空白页面,要么根本没有发生任何事情。先谢谢!

AS3:

function sendTime() {
        var req:URLRequest = new URLRequest("processScore.php");
        var loader:URLLoader = new URLLoader();
        //using URLLoaderDataFormat.VARIABLES give me error so I changed to TEXT.
        loader.dataFormat = URLLoaderDataFormat.TEXT;
        var toSend:URLVariables = new URLVariables();
        req.data = toSend;
        req.method = URLRequestMethod.POST;

        toSend.timeRecorded = timeTaken;

        loader.addEventListener(Event.COMPLETE, timeSent);
        loader.load(req);

    }

    function timeSent(e:Event) {
        trace("SENT");
    }

processScore.php:

<?php 
  if(isset($_POST['timeRecorded'])) {
    echo $_POST['timeRecorded'];
}
?> 

2 个答案:

答案 0 :(得分:0)

试试这个

function sendTime() {

        var loader:URLLoader = new URLLoader();
        var req:URLRequest = new URLRequest("processScore.php");
        var toSend:URLVariables = new URLVariables();
        loader.dataFormat = URLLoaderDataFormat.VARIABLES;
        req.method = URLRequestMethod.POST;
        toSend.timeRecorded = timeTaken;
        req.data = toSend;
        loader.addEventListener(Event.COMPLETE, timeSent);
        loader.load(req);

    }

    function timeSent(e:Event) {
        trace("SENT");
    }

PHP:

<?php 
        $timeRecorded = $_POST['timeRecorded'];
         echo $timeRecorded;
    ?>

答案 1 :(得分:0)

管理解决问题。我并没有真正弄清楚URLLoader背后的主要想法,因此我认为闪存页面仍然存在问题。主要问题是绝对的Url问题,我没有做任何事情来正确处理PHP中的结果。谢谢大家投入这些问题。我很感激!