我试图使用urlLoader,但它没有工作,我不知道为什么......
我已经创建了一个我上传的php文件。这是PHP代码:
<?php
$psPreRegEmail=$_POST['sEml'];
$FRM_ID=$_POST['sID'];
$psBD=$_POST['sBD'];
echo "email=".$psPreRegEmail;
echo "&id=".$FRM_ID;
echo "&db=".$psBD;
?>
这是我的AS3代码:
var request:URLRequest = new URLRequest('http://www.mysite.fr/login.php')
var variables:URLVariables = new URLVariables()
variables.sEml = 'steph4'
variables.sID = 'steph5'
variables.sBD = 'steph6'
request.data = variables
request.method = URLRequestMethod.POST
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, handleComplete);
loader.load(request)
function handleComplete(event:Event) {
var loader:URLLoader = URLLoader(event.target)
var vars:URLVariables = new URLVariables(loader.data)
trace('vars.email: '+vars.email)
trace('vars.id: '+vars.id)
trace('vars.db: '+vars.db)
}
没有错误,但当我在http://www.mysite.fr/login.php时,会显示:email=&id=&db=
为什么我不明白:???
email=steph4
id=steph5
db=steph6
我开始怀疑是否可以将数据从AIR应用程序发送到服务器上的php文件? 也许这是因为,为了安全措施,将数据发送到URL是不可能的?
答案 0 :(得分:0)
我是一个使用php的完整菜鸟,但显而易见的是你没有写任何数据。您的Flash文件正在跟踪回声&#39;回声从PHP,但你的PHP没有保留任何数据,当你只是通过HTML调用它时会出现。
因此,请尝试让您的php将变量写入文本文件,如下所示:
<?php
$psPreRegEmail=$_POST['sEml'];
$FRM_ID=$_POST['sID'];
$psBD=$_POST['sBD'];
$myFile = "testFile.txt";
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = $psPreRegEmail;
fwrite($fh, $stringData);
$stringData = $FRM_ID;
fwrite($fh, $stringData);
$stringData = $psBD;
fwrite($fh, $stringData);
fclose($fh);
echo "eemail=".$psPreRegEmail;
echo "&id=".$FRM_ID;
echo "&db=".$psBD;
?>
现在你可以读出你的文件:
http://www.mysite.fr/testFile.txt
或者写一些PHP代码来为你阅读。
答案 1 :(得分:0)
您的AS3代码很好,但在您的PHP代码中,您应该这样做:
<?php
$psPreRegEmail = $_POST['sEml'];
$FRM_ID = $_POST['sID'];
$psBD = $_POST['sBD'];
echo "email=".$psPreRegEmail."&id=".$FRM_ID."&db=".$psBD;
?>
关于您的问题,为什么在您打开http://www.mysite.fr/login.php时无法获得所需内容?这是因为您的$_POST
数组为空,然后您的变量为空。你应该运行你的项目,你会得到这个:
vars.email: steph4
vars.id: steph5
vars.db: steph6