将变量发送到从as3到php的电子邮件

时间:2013-06-08 10:23:54

标签: php actionscript-3

我正在制作一个包含输入框和提交按钮的网站上的Flash内容。 用户应在输入框中回答问题,当他点击提交时,应将答案发送到电子邮件地址。 问题是,当用户输入答案时,我收到一封空的电子邮件。 这是我的代码:

文字框的代码:

var myData:URLVariables = new URLVariables();
myData.answer = "";
var myRequest:URLRequest = new URLRequest("MyDomain/..../example.php");
myRequest.data = myData;
myRequest.method = URLRequestMethod.POST;
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.VARIABLES;

按钮的代码:

myButton.addEventListener(MouseEvent.CLICK, sen) ;
function sen(Event:MouseEvent):void
{
navigateToURL( new URLRequest("MyDomain/..../example.php"), "_self");
}

,这是PHP代码:

<?php
$answer = $_POST['answer']; 
$to = "MyMail@example.com";
$subject="Message from php";
mail($to,$subject,$text,"Content-Type: text/plain; charset=utf-8");
?>

那它有什么问题?

1 个答案:

答案 0 :(得分:0)

您从未在PHP代码中定义变量$ text。您可能在代码中遗漏了这样的内容:

$text = $_POST['text'];

或者您应该使用$ answer变量而不是$ text变量。

您可以编写一些调试代码,以查看您从AS3代码中提交的内容:

<?php
$text = var_export($_POST, true);
// not used anyway
// $answer = $_POST['answer']; 
$to = "MyMail@example.com";
$subject="Message from php";
mail($to,$subject,$text,"Content-Type: text/plain; charset=utf-8");
?>

这样你就会得到一封包含所有POST变量的电子邮件,这样你就可以看到你需要在$ _POST []数组中引用哪一个。