在 php actionscript 连接上回显不返回变量值

Posted

技术标签:

【中文标题】在 php actionscript 连接上回显不返回变量值【英文标题】:echo not returning variable value on php actionscript connection 【发布时间】:2013-07-24 17:23:47 【问题描述】:

我正在尝试将一些变量从 php 传递到 flash,我正在使用这个 actionscript 代码:

public function gameOver(score:Number) 

    totalScore.text = score.toString();

    var scriptVars:URLVariables = new URLVariables();
    scriptVars.score = score;

    var scriptLoader:URLLoader = new URLLoader();

    var scriptRequest:URLRequest = new URLRequest("checkScores.php");
    scriptRequest.method = URLRequestMethod.POST;
    scriptRequest.data = scriptVars;

    scriptLoader.load(scriptRequest);
    scriptLoader.addEventListener(Event.COMPLETE, handleLoadSuccessful);
    scriptLoader.addEventListener(IOErrorEvent.IO_ERROR, handleLoadError);


function handleLoadSuccessful(e:Event):void

    trace("Scores Loaded");
    var vars:URLVariables = new URLVariables(e.target.data);
    nickname1.text = vars.nickname;
    score1.text = vars.score;


function handleLoadError($evt:IOErrorEvent):void

    trace("Load failed.");
    nickname1.text ="error";

还有这个 php 代码:

<?php
    ... some code for the mysql connection and select sentence ...

        $topScores = mysqli_query($con, $topScores);
        $topScores = mysqli_fetch_array($topScores);
        echo "&nickname=$topScores[nickname]&score=$topScores[score]";

?>

两者都运行没有错误,问题是我在闪存上得到的不是变量值而是变量的名称,换句话说,我在 vars.nickname 上得到的是

$topScores[nickname] 

对于 vars.score

$topScores[score]

如果我单独运行 php,我会得到这个:

&nickname=jonny&score=100

这是我试图获得的实际变量值,任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

我认为您可能只是将 php 文件作为文本文件从 flash 中加载。你能改变以下行吗:

new URLRequest("checkScores.php");

类似于:

new URLRequest("http://localhost/checkScores.php");

或者你在问题中所说的“运行”它时在浏览器地址栏中看到的任何内容。

【讨论】:

成功了!但我遇到了一个新错误,错误 #2101:传递给 URLVariables.decode() 的字符串必须是包含名称/值对的 URL 编码查询字符串。我修复了将我的 php echo sintax 更改为 echo "nickname=".urlencode($topScores['nickname'])."&score=".$topScores['score'];非常感谢!

以上是关于在 php actionscript 连接上回显不返回变量值的主要内容,如果未能解决你的问题,请参考以下文章

如何从数据库中获取数据并在 php 页面上回显? [复制]

表单提交后如何在同一个html页面上回显?

PHP 无法从 ActionScript3 接收参数

通过 php 将 ActionScript 值写入文件

Flash lite 1.1 Actionscript 和 PHP

为啥 Actionscript 对象在我的 php 返回的 XML 输出中转换数字字符串?