HTML表单不会将数据传递给php脚本
表单的html标记:HTML表单不会将数据传递给php脚本,php,html,email,Php,Html,Email,表单的html标记: <form method="post" action="send_form_email.php"> <div class="form-group"> <label>Name: </label> <input class="form-control" type="t
<form method="post" action="send_form_email.php">
<div class="form-group">
<label>Name: </label>
<input class="form-control" type="text" placeholder="Enter Name" name="name">
</div>
<div class="form-group">
<label>Email: </label>
<input class="form-control" type="text" placeholder="Enter Email" name="email">
</div>
<div class="form-group">
<label>Message: </label>
<textarea class="form-control" placeholder="Enter Message" name="message"></textarea>
</div>
<button type="submit" name="sended" class="btn btn-default">Submit</button>
</form>
姓名:
电邮:
信息:
提交
php文件如下所示,包括2个数组,用于在变量之间进行swop:
<?php
if(!isset($_POST['sended'])) {
died("Йуху");
}
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$mastermail="leshaber24@yandex.ru";
$html = file_get_contents("./email-inlined.html");
// Массивы с заменой
$search = array("#name#", "#email#", "#message#");
$replace = array($name, $email, $message);
$email_message = str_replace($search, $replace, $html);
// create email headers
$headers = 'From: '.$masteremail."\r\n".
'Reply-To:'.$masteremail."\r\n" .
'X-Mailer: PHP/' . phpversion();
$headers .= 'MIME-Version: 1.0'."\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
mail($mastermail, "письмо из Сакуры", $html, $headers);
?>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<h1>Thanks!</h1>
谢谢
以及邮件本身将被发送至收件人:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Письмо с сайта</title>
</head>
<body>
<div>
<p>letter comes from <span>#name#</span></p>
<p>email to reply <span>#email#</span></p>
<p>message itself:<br><span>#message#</span></p>
</div>
</body>
</html>
Письмо с сайта
这封信来自#name#
要回复的电子邮件#电子邮件#
消息本身:
#消息#
问题在于,代码片段不会随表单中的数据而更改。意味着html数据不会传输到php文件
谢谢 问题在于传递给邮件功能的内容。将文件内容存储在$html中后,您所做的替换将存储在$email\u消息中,但您仍将$html传递给邮件 换成
mail($mastermail, "письмо из Сакуры", $email_message, $headers);
您在您的
邮件()调用中使用了$html
,而不是$email\u message
(您在其中进行了所有替换)。@ccKep但我使用了$html=file\u get\u contents(“./email inlined.html”);这意味着现在$html存储了我想要发送的文件中的数据,对吗?$html=file\u get\u contents(“./email inlined.html”)
表示“获取该文件的内容并将其存储在$html中”。在此之后,您将在上面执行str_replace
,并将这些结果存储在$email_message
中,因此:$email_message
是替换了占位符的电子邮件内容,$html
是原始内容。当您发送电子邮件时,您希望发送带有替换值的邮件,因此$email\u message
而不是$html
。更改邮件($mastermail,$html,$headers)代码>至邮件($mastermail,$email\u message,$headers)代码>@ccKep明白了,谢谢!