Flash AS3 navigateToURL()和php mail()

时间:2011-08-20 16:33:44

标签: php actionscript-3 sendmail

我正在尝试使用navigateToURL()和PHP mail()创建一个简单的消息表单。但是我在php页面中重定向这个方法有问题。我需要它不重定向页面,但仍然将其发送到电子邮件。

这就是我所做的。

AS3

if (e.type == "click")
    {

                navigateToURL(new URLRequest("http://somedomain.com/sendme.php?" + "name=" + e.currentTarget.parent.na_txt.text + "&email=" + e.currentTarget.parent.ma_txt.text + "&contact=" + e.currentTarget.parent.co_txt.text + "&message=" + e.currentTarget.parent.me_txt.text + "&sex=" + e.currentTarget.parent.sex), "_self");


    }

PHP

<?php

$to = "some@email.com";
$subject = "Subject";

$name = $_GET['name']; 
$sex = $_GET['sex'];
$email = $_GET['email']; 
$contact = $_GET['contact']; 
$message = $_GET['message']; 

// create email headers
$headers = 'From: '.$email."\r\n".
'Reply-To: '.email."\r\n" .
'X-Mailer: PHP/' . phpversion();


$body = "From: $name \r\nGender: $sex \r\nE-Mail: $email \r\nContact No.: $contact \r\n\r\nMessage:\n$message";


echo "Thank You $name, Your Feedback and Enquiry has been submitted to <a href='mailto:$to'>$to</a>!";

mail($to, $subject, $body, $headers);


?> 

1 个答案:

答案 0 :(得分:3)

我认为您真正想要的是创建一个URLLoader对象来发送您的变量。

// prepare the vars
var vars:URLVariables = new URLVariables();
vars.name = e.currentTarget.parent.na_txt.text;
vars.email = e.currentTarget.parent.ma_txt.text;
vars.contact = e.currentTarget.parent.co_txt.text;
vars.message = e.currentTarget.parent.me_txt.text;
vars.sex = e.currentTarget.parent.sex;

// prepare the request
var request:URLRequest = new URLRequest("http://pennfolio.com/goahead/sendme.php");
request.data = vars;
request.method = URLRequestMethod.GET;

// prepare loader
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE,onLoadComplete);
loader.load(request);

// handle the response from PHP
function onLoadComplete(evt:Event):void
{
    evt.target.removeEventListener(Event.COMPLETE,onLoadComplete);
    trace(evt.target.data); // the output from PHP
}

这将在不重新加载页面或打开新窗口的情况下运行,允许您维护应用程序的状态。您在PHP中回显的文本将在加载完成处理函数中提供,您可以选择显示给用户。

相关问题