PHP邮件中的HTML
我有一个小问题,但我不知道怎么解决。。 (代码优先) 以下是我的PHP代码:PHP邮件中的HTML,php,html,email,Php,Html,Email,我有一个小问题,但我不知道怎么解决。。 (代码优先) 以下是我的PHP代码: <?php // Simple basic check function checkData($mandatory_fields, $field_input) { $check = true; foreach($mandatory_fields as $key=>$value) { if(empty($field_input[$value])) { $check = fals
<?php
// Simple basic check
function checkData($mandatory_fields, $field_input) {
$check = true;
foreach($mandatory_fields as $key=>$value) {
if(empty($field_input[$value])) {
$check = false;
}
}
return $check;
}
function unserializeData() {
$serializedData = $_POST['value'];
$unserializedData = array();
parse_str($serializedData, $data);
return $data;
}
function mailContactForm() {
$data = unserializeData();
$mandatory = array("comment_name", "comment_email", "comment_message", "titel", "email_adverteerder","advertentie_titel","prijs");
if (!checkData($mandatory, $data)) {
header("HTTP/1.1 400 Bad Request");
return false;
}
$to = $data["email_adverteerder"];
$from = $data["comment_name"];
$subject = 'You have a new message ' .$data["titel"] ;
$message = '
<html>
<head>
</head>
<body>
'. $data["comment_message"].'<br><br>
</body>
</html>
';
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= "From:".$data["comment_name"]."<".$data["comment_email"].">" . "\r\n" .
"Reply-To: ".$from."" . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
}
mailContactForm();
?>
Html代码:
<div>
<label for="comment-text">Uw reactie: <span class="mandatory">*</span></label>
<textarea id="comment-text" name="comment_message"></textarea>
</div>
Uw反应:*
就像我说的,除了$data[“comment_message”],我的代码运行良好(我收到邮件)。问题是我收到的信息与我发送的信息不一样
示例:如果我在html文本区域中写入以下内容:
你好,世界
我很高兴
我在我的电子邮件中收到:
你好,世界,我很高兴
所以他没有换行
我希望我给了你足够的信息来帮助我 textarea值不仅仅输出HTML代码,您可能不希望用户能够通过textarea提交HTML代码 用于将新行字符转换为HTML换行符 我会运行
nl2br(htmlentities($data[“comment_message”])代码>
将HTML代码转换为特殊实体,这样它就不会执行代码,而只显示它。例如:
文本区域中不会显示图像,只会显示代码