2011-08-20 5 views
0

navigateToURL() 및 PHP mail()을 사용하여 간단한 메시지 양식을 만들려고합니다. 하지만 PHP 페이지에서 리디렉션하는이 접근 방식에 문제가 있습니다. 페이지를 리디렉션하지 않고 전자 메일로 보내야합니다.Flash AS3 navigateToURL() and php mail()

여기가 내가 한 것입니다.

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 = "[email protected]"; 
$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); 


?> 

답변

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에서 반향하는 텍스트는 사용자가 선택할 수 있도록로드 완료 핸들러 함수에서 사용할 수 있습니다.

+0

도움 주셔서 감사합니다 .. 네, 내 문제를 해결합니다. 고마워! – Pennf0lio