在 AS3 中显示 php 变量,错误 #1069


Displaying php variables in AS3, Error #1069

我尝试搜索这么多线程,尝试 8 小时后我的问题仍然无法解决。我通过php/MySQLi为AS3创建了一个登录/注册。我正在尝试将一些变量从php返回到"帐户页面",成功登录后,AS3将自动跳转到帐户页面,并显示"用户名"和"其他变量",目前我只是尝试使用"密码"进行测试。我可以成功显示用户名。但是当我尝试加载超过 1 个变量时,问题开始出现。我可以使用event.target.data并回应它。这有效,但是当我尝试跟踪event.target.data.username时,当数据之后附加了一些东西时,它就会停止工作。

以下是我的代码。AS3

var Bend:URLRequest = new URLRequest("http://localhost/dummy.php");
Bend.method = URLRequestMethod.POST;

var variabless:URLVariables = new URLVariables();
variabless.username = Nam.text;
Bend.data = variabless;

var nLoader:URLLoader = new URLLoader();
nLoader.dataFormat = URLLoaderDataFormat.TEXT;
nLoader.addEventListener(Event.COMPLETE,Jandler);
nLoader.load(Bend);

// handler for the PHP script completion and return of status
 function Jandler(event:Event):void{

       Nam.text=event.target.data.$name;
       Nam2.text=event.target.data.$password;
}

我不知道 php 应该是什么,但我从登录开始了 sesssion。

session_start();
echo $_SESSION['username']=$name;
echo $_SESSION['password']=$password;

感谢您的时间和帮助。

新 AS3

function Jandler(event:Event):void{
     var responseVariables:URLVariables = new URLVariables(event.target.data);
     trace(responseVariables.names);
       trace(responseVariables.password);

新法宝

session_start();
$_SESSION['username']=$names;
$_SESSION['password']=$password;
echo "names=$names&password=$password";

在 AS3 端,最好将数据转换为 URLVariables 对象,如下所示:

var responseVariables:URLVariables = new URLVariables(e.target.data);

现在您可以更轻松地处理数据,例如:

trace (responseVariables.name)

如果你不这样做,它基本上只是一个包含参数字符串的大长字符串。

在 php 端,您需要创建一个参数字符串,该字符串是参数名称和值的组合,由如下所示的&分隔:

echo "name=Clark&password=light";

如果它没有被&分隔,它将在 as3 端被视为一个参数。