我知道这个问题曾被问过几次, 但我不能使用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文件 你能帮我吗? 还有一个问题, 如果我让服务器保持运行,这会在移动设备上运行吗? 谢谢,
答案 0 :(得分:1)
此错误表示PHP脚本无法在$ _POST对象中找到值。 Actionscript部分看起来不错。您是在测试填写的所有字段还是空字段?
在脚本中捕获空值并设置默认值(如
)总是一个好主意$senderName = isset($_POST['senderName']) ? $_POST['senderName'] : '';
首先跟踪my_vars中的所有变量,以查看您要发送到服务器的内容。如果看起来不错,请在PHP脚本中执行var_dump($ _ POST)以检查脚本收到的内容。
您打算如何在移动设备上部署它?如果它是一个应用程序,您可能需要在服务器上使用crossdomain.xml。但理论上 - 是的,你可以让它在移动设备上运行。