2015-10-27 25 views
-2

我有mail.php它發送出去的電子郵件。這是我正在使用的代碼。PHP消息發送「未定義」

<?php 
if(isset($_POST['submit'])){ 
$to  = $_POST['email']; 
$subject = 'Your Results!'; 
$message = $_POST['message'];  
$headers = 'From: [email protected]' . "\r\n" . 
'Reply-To: [email protected]' . "\r\n" . 
'X-Mailer: PHP/' . phpversion(); 

//mail($to, $subject, $message, $headers); 
//header("Location: thankyou.php"); 
echo $message; 
} 
?> 

電子郵件的內容應該是我的index.php頁面上div的.innerText。如果我回聲出消息,則輸出顯示在頁面(mail.php),但是當我評論/取消註釋必要的零件以電子郵件我自己,我收到只不過是「不確定」的消息。

沒有定義$消息?

這裏是形式和javascript我使用

<form action="mail.php" method="post" onsubmit="this.message.value = document.getElementById('box').innerText;"> 
<input type="email" name="email" required> 
<input id="content" type="hidden" name="message" value=""> 
<input type="submit" name="submit">  
</form> 
+1

JavaScript是導致錯誤 –

+0

PHP從來沒有變成一個未定義的變量爲字符串'undefined' - 它只是把它轉換成一個空字符串。所以這一定發生在客戶端的JS上。不過,我無法解釋爲什麼當你執行'echo $ message'時不會發生這種情況。 – Barmar

回答

2

變化.innerText.textContent.innerText是無法在Firefox中存在一個非標準的屬性。

我不知道爲什麼你沒有同樣的問題在PHP腳本中使用echo $message時,除非你測試該版本的腳本不同的瀏覽器(總是儘量減少差異數量,當你」像這樣重新測試)。

+0

不同的瀏覽器,我是個白癡。謝謝@Barmar –