PHP联系表单中的换行符

时间:2012-03-30 13:37:46

标签: php html

我需要在我正在制作的网站上添加一个联系表单,并找到一些有用的代码,有些人非常喜欢那些没有PHP经验的人。

将代码粘贴并编辑到页面中并将其上传到临时站点后,我使用我的gmail地址对其进行了测试,并且工作正常。唯一的问题是电子邮件文本中没有换行符。

以下是代码:

<?php 
if ($_POST["email"]<>'') { 
$ToEmail = 'myemailadress@gmail.com'; 
$EmailSubject = 'Site contact form'; 
$mailheader = "From: ".$_POST["email"]."\r\n"; 
$mailheader .= "Reply-To: ".$_POST["email"]."\r\n"; 
$mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n"; 
$MESSAGE_BODY = "Name: ".$_POST["name"].""; 
$MESSAGE_BODY .= "Email: ".$_POST["email"].""; 
$MESSAGE_BODY .= "Comment: ".nl2br($_POST["comment"]).""; 
mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die ("Failure"); 
?>
Your message was sent
<?php 
} else { 
?>
<form action="contactus.php" method="post">
<table width="400" border="0" cellspacing="2" cellpadding="0">
<tr>
<td width="29%" class="bodytext">Your name:</td>
<td width="71%"><input name="name" type="text" id="name" size="32"></td>
</tr>
<tr>
<td class="bodytext">Email address:</td>
<td><input name="email" type="text" id="email" size="32"></td>
</tr>
<tr>
<td class="bodytext">Comment:</td>
<td><textarea name="comment" cols="45" rows="6" id="comment" class="bodytext"> </textarea></td>
</tr>
<tr>
<td class="bodytext"> </td>
<td align="left" valign="top"><input type="submit" name="Submit" value="Send"></td>
</tr>
</table>
</form> 
<?php 
}; 
?>

这是我收到收件箱时收到的内容:

  

姓名:Mr J Bloggs电子邮件:email@address.com评论:评论文本。

我想要的是它看起来像这样:

  

姓名:J Bloggs先生   电子邮件:email@address.com
  评论:评论文本。

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

只需在每行后添加换行符:

$MESSAGE_BODY = "Name: ".$_POST["name"]."<br/>"; 
$MESSAGE_BODY .= "Email: ".$_POST["email"]."<br/>"; 
$MESSAGE_BODY .= "Comment: ".nl2br($_POST["comment"]); 

答案 1 :(得分:2)

你应该做

$MESSAGE_BODY = "Name: ".$_POST["name"]."\n"; 
$MESSAGE_BODY .= "Email: ".$_POST["email"]."\n"; 
$MESSAGE_BODY .= "Comment: ".nl2br($_POST["comment"])."\n";