1
HTML標記形式:HTML表單不會將數據傳遞給PHP腳本
<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="[email protected]";
$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>
問題是片段不會隨着來自第電子表格。意味着html數據不會傳輸到php文件。
謝謝!
您正在使用您的''郵件$ html'()'調用,而不是'$ email_message'(你做了所有的更換)。 – ccKep
@ccKep,但我做了$ html = file_get_contents(「./ email-inlined.html」); 意味着現在$ html存儲我想要發送的文件中的數據,我正確嗎? –
'$ html = file_get_contents(「./ email-inlined.html」);'表示「獲取該文件的內容並將其存儲在$ html中」。之後,你正在對你的'str_replace'進行處理,並將結果存儲在'$ email_message'中,因此:'$ email_message'是你的電子郵件的內容,替換了佔位符,'$ html'是原來的。當你發送電子郵件時,你想發送帶有被替換的課程價值的電子郵件,因此'$ email_message'而不是'$ html'。更改'mail($ mastermail,「письмоизСакуры」,$ html,$ headers);'to'($ mastermail,「письмоизСакуры」,$ email_message,$ headers);'。 – ccKep