2012-01-30 70 views
0

當我點擊發送文本框顯示'發送....'沒有任何變化。 我非常肯定,這是以前工作,但客戶已經注意到它最近不工作。我找不到問題,請幫忙。AS3到PHP - 郵件()函數

我有一個swf這個AS3

var var_load:URLLoader = new URLLoader; 
var URL_request:URLRequest = new URLRequest("http://www.blah.com/send_email_auto_response.php"); 
URL_request.method = URLRequestMethod.POST; 

function submit(e:MouseEvent):void 
{ 
    if(contact_name.text == "" || contact_email.text == "" || 
     contact_subject.text == "" || contact_message.text == "") 
    { 
     message_status.text = "Please fill up all text fields."; 
    } 
    else if(!validate_email(contact_email.text)) 
    { 
     message_status.text = "Please enter the valid email address."; 
    } 
    else 
    { 
     message_status.text = "sending...";  
     var email_data:String = "name=" + contact_name.text 
         + "&email=" + contact_email.text 
         + "&subject=" + contact_subject.text 
         + "&message=" + contact_message.text; 

     var URL_vars:URLVariables = new URLVariables(email_data); 
     URL_vars.dataFormat = URLLoaderDataFormat.TEXT; 

     URL_request.data = URL_vars; 
     var_load.load(URL_request); 
     var_load.addEventListener(Event.COMPLETE, receive_response); 
    } 
} 

與此PHP代碼調用網頁..

$contact_name = $_POST['name'];  
$contact_email = $_POST['email'];  
$contact_subject = $_POST['subject']; 
$contact_message = $_POST['message']; 
if($contact_name == true) 
{ 
    $sender = $contact_email; 
    $receiver = "[email protected]"; 
    $client_ip = $_SERVER['REMOTE_ADDR']; 

    $email_body = "Name: $contact_name \nEmail: $sender \n\nSubject: $contact_subject \n\nMessage: \n\n$contact_message \n\nIP: $client_ip \n\n"; 
    $email_body_auto_reply = "Hello $contact_name, \nThis is the auto reply message. Thank you."; 

    $extra = "From: $sender\r\n" . "Reply-To: $sender \r\n" . "X-Mailer: PHP/" . phpversion(); 
    $extra_auto_reply = "From: $receiver\r\n" . "Reply-To: $receiver \r\n" . "X-Mailer: PHP/" . phpversion(); 

    mail($sender, "Auto Reply - Re: $contact_subject", $email_body_auto_reply, $extra_auto_reply); // auto reply mail to sender 

    if(mail($receiver, "Flash Contact Form - $contact_subject", $email_body, $extra)) 
    { 
     echo "success=yes"; 
    } 
    else 
    { 
     echo "success=no"; 
    } 
} 
+0

您是否從HTML頁面測試了PHP函數以縮小範圍? – Kodiak 2012-01-30 11:16:48

+0

我剛剛嘗試點擊HTML頁面,即使在$ _POST變量之後添加額外的回顯後,它也會顯示一個空白頁面。 – atomicDroid 2012-01-30 11:28:51

+0

您是否在PHP配置中啓用了display_errors?嘗試添加它作爲你的PHP腳本的第一行:'error_reporting(E_ALL); ini_set('display_errors','On');' – shanethehat 2012-01-30 11:35:18

回答

0

它可能需要:

URL_vars.dataFormat = URLLoaderDataFormat.TEXT; 

更改爲:

URL_vars.dataFormat = URLLoaderDataFormat.VARIABLES; 
+0

我目前無法訪問最新的.fla,我將不得不在稍後根據上述討論來嘗試解決問題。謝謝 – atomicDroid 2012-01-30 11:53:25