使用PHP将Flash输入文本字段发送到电子邮件


Flash input text-field sent to email using PHP

我正在Flash CS6中创建一个表单-Actionscript 2&Flash Player 8。我想用PHP发送一封带有输入数据的电子邮件。

我有一个输入文本字段,实例名为InInput,还有一个按钮:bSubmit

我的Flash按钮:

 bSubmit.onRelease = function()
 {
  email();
 }
 function email()
 {
  var sMessage = "This is from a form<br/><br/>" + "Number: " + nInput.text;
  lvSend = new LoadVars();
  lvReply = new LoadVars();
  lvSend.msg = sMessage;
  lvSend.address = "my@email.com"; 
  nInput.text = "";
  lvSend.sendAndLoad('mail.php', lvReply, 'POST');
}

我的PHP脚本

<?php
$message = stripslashes($_POST['msg']);
$address = $_POST["address"];
$headers = "From:another@email.com 'r'n";
$headers .= 'MIME-Version: 1.0' . "'r'n";
$headers .= 'Content-type: text/html; charset=utf-8' . "'r'n";
mail($address,"My Subject",$message, $headers);
?>

除了没有显示输入数据外,其他一切都很好。这就是电子邮件的样子:

这来自一个表单

编号:未定义

我想Flash中的脚本有问题,但我不知道是什么。你们知道吗?谢谢

编辑
这是有效的:

bSubmit.onRelease = function()
{
    email();
}
function email()
{
    var nInput = nInput.text;
    var sMessage = "This is from a form<br/><br/>" + "Number: " + nInput;
    lvSend = new LoadVars();
    lvReply = new LoadVars();
    lvSend.msg = sMessage;
    lvSend.address = "my@email.com"; 

    lvSend.sendAndLoad('mail.php', lvReply, 'POST');
}

很高兴你能成功。只是为了将来参考,你可以做

bSubmit.onRelease = email;

不放:

function() {
  email();
}

除非你想传递参数,在这种情况下,这是有意义的:

bSubmit.onRelease = function() {
    email(nInput.text, "my@address.com");
}