0

我尝试搜索了这么多线程,经过 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 应该是什么,但我从登录开始会话。

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);

新的PHP

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

echo "names=$names&password=$password";
4

1 回答 1

1

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

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

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

trace (responseVariables.name)

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

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

echo "name=Clark&password=light";

如果它没有被 分隔&,它将在 as3 侧作为一个参数看到。

于 2013-10-12T17:07:11.677 回答