2013-03-19 122 views
4

腳本下面的目的是發送電子郵件註冊人和響應success回到頁面某些行動,如果郵寄,不知何故,如果我添加 - 在PHP mail()方法,回調響應將無法正常工作電子郵件已成功傳遞到郵箱,但我沒有運氣得到success警報,一旦我刪除mail()方法,成功警報再次彈出,我得到了Json的一些提示。響應沒有形成,但我真的不知道它是如何工作的,任何人都可以爲此提供幫助,我想要的僅僅是發送郵件並獲得'成功'回調?PHP郵件()方法和響應回調不起作用

request.php

if(empty($fname) || strlen($fname) < 3){ 
    $message['error']['fname'] = 'Full name is required'; 
} 
if(empty($contact)){ 
    $message['error']['contact'] = 'Contact number is required'; 
} 

if(!isset($message['error'])){ 

    $create = "//sql for insertion"; 

    if($create){ 
    //problem is here 
    $to = $email; 
    $subject = "Email Validation"; 
    $message = "http://www.sitename.com/activate.php?token=".$activate_code; 
    $from = "[email protected]"; 
    $headers = "From:" . $from; 

    if(mail($to,$subject,$message,$headers)){ 
     $message['success'] = "success"; 
    } 

    } 

    } 
} 
echo json_encode($message); 

感謝。

更新:

最後被發現的衝突解決上$message VS $message['success'],我改變$message到別的東西。

謝謝查看我的帖子。

回答

-2

你必須設置內容類型爲JSON:

header("Content-Type: application/json"); 
echo json_encode($message); 
+0

我應該在哪裏設置,在request.php或形式? – conmen 2013-03-19 07:37:56

+0

在你迴應任何內容之前 – Ibu 2013-03-19 07:47:56

+0

我發現這是'$ message' var引起的,當我把它留空時,成功響應是彈出的,爲什麼會這樣呢? – conmen 2013-03-19 08:13:16