我正在制作一个包含输入框和提交按钮的网站上的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");
?>
那它有什么问题?
答案 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 []数组中引用哪一个。