as3 - 联系表格不起作用

时间:2016-06-27 00:30:51

标签: php actionscript-3 flash

我知道这个问题曾被问过几次, 但我不能使用as3和php建立联系表单我总是得到一个“UnidentifiedIndex”错误,这里是代码。 PHP:

<?php
{
$to = "name@yourdomain.com";
$subject = ($_POST['senderName']);
$message = ($_POST['senderMsg']);
$message .= "\n\n---------------------------\n";
$message .= "E-mail Sent From: " . $_POST['senderName'] . " <" . $_POST['senderEmail']  . ">\n";
$headers = "From: " . $_POST['senderName'] . " <" . $_POST['senderEmail'] . ">\n";
if(@mail($to, $subject, $message, $headers))
{
echo "answer=ok";
} 
else 
{
echo "answer=error";
}
}
?>

动作脚本:

submit_btn.addEventListener(MouseEvent.CLICK, sendMessage);
function sendMessage(e:MouseEvent):void
{
    var my_vars:URLVariables = new URLVariables();
    my_vars.senderName = name_txt.text;
    my_vars.senderEmail = email_txt.text;
    my_vars.senderMsg = message_txt.text;


var my_url:URLRequest = new URLRequest("mail.php");
my_url.method = URLRequestMethod.POST;
my_url.data = my_vars;

var my_loader:URLLoader = new URLLoader();
my_loader.dataFormat = URLLoaderDataFormat.VARIABLES;
my_loader.load(my_url);

name_txt.text = "";
email_txt.text = "";
message_txt.text = "Message Sent";

}

顺便说一句,我是PHP的新手

这个代码我是从网站上得到的,所以它不是我的 我正在使用xampp来创建服务器以打开php文件 你能帮我吗? 还有一个问题, 如果我让服务器保持运行,这会在移动设备上运行吗? 谢谢,

1 个答案:

答案 0 :(得分:1)

此错误表示PHP脚本无法在$ _POST对象中找到值。 Actionscript部分看起来不错。您是在测试填写的所有字段还是空字段?

在脚本中捕获空值并设置默认值(如

)总是一个好主意
$senderName = isset($_POST['senderName']) ? $_POST['senderName'] : '';

首先跟踪my_vars中的所有变量,以查看您要发送到服务器的内容。如果看起来不错,请在PHP脚本中执行var_dump($ _ POST)以检查脚本收到的内容。

您打算如何在移动设备上部署它?如果它是一个应用程序,您可能需要在服务器上使用crossdomain.xml。但理论上 - 是的,你可以让它在移动设备上运行。