2015-10-27 59 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 –