1

我正在做一个 Actionscript 3 脚本(带有 Flash 13),它接收用户的电子邮件,然后将其发送到我网站上的 PHP 文件,并且 PHP 文件格式化了它发送到用户地址的电子邮件。没什么太复杂的,当我在 Flash 中测试它时,它工作得很好。但是,一旦我导出电影,它似乎就无法再“联系”PHP 文件了。PHP 文件有一个错误处理条件,由于我根本没有收到任何电子邮件,我知道问题出在 Flash 上。

我尝试在与 PHP 文件相同的服务器上托管嵌入在网页中的 Flash 文件,但没有结果。

这是我的 AS 代码:

myEmail = result.text;

var myData:URLRequest = new URLRequest("http://www.mywebsite.com/sendmail.php");
myData.method = URLRequestMethod.GET;

var variables:URLVariables = new URLVariables();
variables.email = myEmail;
myData.data = variables;

var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
loader.addEventListener(Event.COMPLETE, dataOnLoad);  // the dataOnLoad functions only does a trace
loader.load(myData);

还有我的 PHP:

if (!empty($_GET)) {
    $to = $_GET['email'];
    $message = "Hurray !!!";
    mail($to, 'Here is your coupon !', $coupon);
} else {
    mail('me@mysite.com', 'Error', 'Your GET info is faulty my friend');
}

我应该注意这些功能是否有一些限制?还是导出电影时检查的选项?

谢谢大家的帮助 !

4

2 回答 2

1

下面是将变量加载到数组中的脚本。我使用它来将 vars 从 php 传递到 AS3 flash swf 文件,使用:“$returnString = http_build_query ($returnVars);”。

闪光

    var myarray;
    var loader:URLLoader = new URLLoader();
    var request:URLRequest = new URLRequest("http://www.mywebsite/thescript.php");
    request.method = URLRequestMethod.GET;
    trace("loadingScript");
    loader.dataFormat = URLLoaderDataFormat.VARIABLES;
    loader.addEventListener(Event.COMPLETE, completeHandler);
    loader.load(request);
        //you set up your listeners and add:

   function completeHandler(evt:Event)
   {

   var intiCount = 0;
   for each (var obj:Object in evt.target.data)
   {
    myarray.push(obj);// each item will be pushed into array
    intiCount++;
            trace(myarray[i]) ;  // i= will loop each item i= 0,1,2
                               // output:  whatever1, what ever2 ,what ever 3.

       }
   }

PHP脚本:

    <?php
    $returnVars['item1'] = "whatever1";
    $returnVars['item2'] = "whatever2";
    $returnVars['item3'] = "whatever3";
    $returnString = http_build_query($returnVars);
    echo $returnString;
    //the items are now in key pairs in flash.
    ?>
于 2013-09-21T02:06:45.613 回答
0

尝试用单引号发送到 php...我遇到了同样的问题,并且在调用文件时必须尝试大约 100 个不同的版本...所以要让它工作...尝试>>'../你的php.php'

于 2014-02-21T16:26:03.290 回答