Flash AS3 navigateToURL () и php mail () - PullRequest
       2

Flash AS3 navigateToURL () и php mail ()

0 голосов
/ 20 августа 2011

Я пытаюсь создать простую форму сообщения, используя 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 Ответ

3 голосов
/ 20 августа 2011

Я думаю, что вам действительно нужно создать объект 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, будет доступен в функции обработчика загрузки для вас, чтобы вы могли отображать его для пользователя по вашему выбору.

...