在 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 连接上回显不返回变量值的主要内容,如果未能解决你的问题,请参考以下文章