您好我已经制作了一个由PHP生成的非常简单的HTML电子邮件。这是通过我网站上的联系表格提供的。我的问题是,我在用户的消息中使用了textarea框,这不会将回车带回PHP字符串。无论如何,我可以允许吗?因为当我收到电子邮件时,它看起来被压扁了。感谢。
更新:
我的代码:
if(count($_GET)){
$name = $_GET["name"];
$company = $_GET["company"];
$mail_from = $_GET["email"];
$phone = $_GET["phone"];
$address = $_GET["address"];
$postcode = $_GET["postc"];
$subject = $_GET["subject"];
$message = nl2br($_GET["comment"]);
$headers = "From: " . strip_tags($_GET['email']) . "\r\n";
$headers .= "Reply-To: ". strip_tags($_GET['email']) . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";}
然后验证字符串
if ($valid = true){
$finalmessage = '<html><body>';
$finalmessage .= '<p>From: '.$name.'</p>';
$finalmessage .= '<p>Company: '.$company.'</p>';
$finalmessage .= '<p>Email: '.$mail_from.'</p>';
$finalmessage .= '<p>Phone: '.$phone.'</p>';
$finalmessage .= '<p>Address: '.$address.'</p>';
$finalmessage .= '<p>Postcode: '.$postcode.'</p>';
$finalmessage .= '<p>Message:<br /> '.$message.'</p>';
$finalmessage .= '</body></html>';
$to ='myemail@myemail.co.uk';
$send_contact=mail($to,$subject,$finalmessage,$headers);}
这仍然不起作用。一切正常但是如果用户在textarea中使用回车,则不会传递并且实际消息会被刷新。
答案 0 :(得分:0)
您必须使用nl2br($text);
..
答案 1 :(得分:0)
换行符(\ r,\ n)不会在html中生成换行符。你试过nl2br($ userinputtext)吗?