1

可能重复:
将变量 FROM flash 传递到 HTML/php

我正在使用 Flash (Actionscript 3.0) 处理这个项目。基本上,它是一个拖放应用程序。在获得一些用户输入后,我需要使用 PHP 将变量传递给 MySQL 服务器。这是我想出的代码:

动作脚本:

import flash.net.URLVariables;
import flash.net.URLRequest;
import flash.net.navigateToURL;
import flash.events.MouseEvent;

var urlVariables:URLVariables = new URLVariables;
var pi:pizza=new pizza();
var totalAmt:Number;

totalAmt=pi.totalPrice;
urlVariables.totalAmount = totalAmt;//"" contains what should be passed
//urlVariables.password = "testpass";//""contains what should be passed


var urlRequest:URLRequest = new          URLRequest("http://172.21.147.103/csc207/bcg2g2/customise.php");
urlRequest.data = urlVariables;

sendToURL(urlRequest)

PHP:

<?php

$total = $_GET["totalAmount"];
//$pass = $_GET["password"];

echo $total;
//echo $userName."::".$pass;

?>

我最终发送给 PHP 的变量是 totalAmount。有人可以就代码是否正确提供一些反馈吗?可以使用用户名和密码访问服务器。是否必须指定?如果是这样,我该怎么做?

先感谢您!

编辑:谢谢大家的回复!

我对代码进行了相应的更改:
import flash.net.URLVariables; 导入 flash.net.URLRequest;导入 flash.net.URLLoader;导入 flash.net.URLRequestMethod;导入 flash.net.navigateToURL;导入 flash.events.MouseEvent;

var urlString:String = "http://172.21.147.103/csc207/bcg2g2/customise.php"; 

function Submit():void
{
    var requestVars:URLVariables = new URLVariables();
    requestVars.totalAmt= 50; // Dummy data to be sent to php

    var urlRequest:URLRequest = new URLRequest();
    urlRequest.url = urlString;
    urlRequest.method = URLRequestMethod.GET;
    urlRequest.data = requestVars;

    var loader:URLLoader = new URLLoader();
    loader.dataFormat = URLLoaderDataFormat.TEXT;
    loader.addEventListener(Event.COMPLETE, loaderCompleteHandler);

sendToURL(urlRequest)

    try { loader.load(urlRequest); }

    catch (error:Error) { // Handle Immediate Errors 
}
}

function loaderCompleteHandler(e:Event):void
{
    trace(e.target.data); // Response Text
}

价值仍然没有得到体现。我可以检查一下我这样做是否正确吗?我应该将 SWF 文件上传到我正在开发的网站,还有什么我应该做的吗?此外,有关身份验证的信息很有用!但我对是否应该在代码中使用它感到困惑。有什么建议/建议吗?

4

2 回答 2

1

正如 Hakre 所评论的:检查将变量 FROM flash 传递到 HTML/php - 不接受的答案就是你想要的(接受的答案发布到 HTML,然后依赖 HTML 发布到 PHP - 如果你需要这个您还想传递 cookie,但如果不传递,您可以直接调用 PHP)。

至于username/pass,你可以在这里找到答案:Flex 3 - how to support HTTP Authentication URLRequest? ; 虽然那是 Flex,但我相信添加身份验证的方法是相同的。

于 2012-05-12T13:08:54.793 回答
0

我建议使用 load 方法,因为您以后可能需要处理事件。

Ans 因为您想在 php 中获取变量,所以您发出 GET 请求,例如:

var urlString:String = "http://172.21.147.103/csc207/bcg2g2/customise.php"; 

function Submit():void
{
    var requestVars:URLVariables = new URLVariables();
    requestVars.totalAmt= 50; // Dummy data to be sent to php

    var request:URLRequest = new URLRequest();
    request.url = urlString;
    request.method = URLRequestMethod.GET;
    request.data = requestVars;

    var loader:URLLoader = new URLLoader();
    loader.dataFormat = URLLoaderDataFormat.TEXT;
    loader.addEventListener(Event.COMPLETE, loaderCompleteHandler);

    try { loader.load(request); }

    catch (error:Error) { // Handle Immediate Errors }
}

function loaderCompleteHandler(e:Event):void
{
    trace(e.target.data); // Response Text
}
于 2012-05-12T13:10:19.097 回答