as3 - 联系表格不起作用
Posted
技术标签:
【中文标题】as3 - 联系表格不起作用【英文标题】:as3 - contact form not working 【发布时间】:2016-10-28 21:42:25 【问题描述】:我知道这个问题已经被问过几次了, 但我无法使用 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】:这个错误意味着 PHP 脚本在 $_POST 对象中找不到值。 Actionscript 部分看起来不错。您是填写所有字段还是空白字段进行测试?
在脚本中捕捉空值并设置默认值总是一个好主意,例如
$senderName = isset($_POST['senderName']) ? $_POST['senderName'] : '';
首先跟踪您的 my_vars 中的所有变量,以查看您发送到服务器的内容。如果看起来不错,请在 PHP 脚本中执行 var_dump($_POST) 以检查脚本收到的内容。
您打算如何在移动设备上部署它?如果它是一个应用程序,您的服务器上可能需要一个 crossdomain.xml。但理论上 - 是的,你可以让它在移动设备上运行。
【讨论】:
感谢您的回复,我跟踪 my_vars 以查看我发送到服务器的内容,它看起来不错,但我不明白 var_dump($POST) 我在脚本中捕获了空值,但仍然出现错误 我写下了 var_dump($_POST),上面写着 array(size = 0) 你能告诉我我应该在我的代码中改变什么,因为我真的需要这个联系表 所以这意味着你的 PHP 脚本由于某种原因没有得到任何值。只是为了确定-您确实通过 Actionscript 而不是直接在浏览器中调用 PHP 脚本,对吗? :) 如果您将脚本放在 Web 服务器上(不是本地 XAMPP,而是某处的真实服务器),脚本是否有效?以上是关于as3 - 联系表格不起作用的主要内容,如果未能解决你的问题,请参考以下文章