php向html传送数据,HTML表单不会将数据传递给PHP脚本

本文探讨了如何在PHP中通过file_get_contents读取HTML模板,使用str_replace正确替换变量后,将替换后的消息发送到指定邮箱。重点在于理解$email_message与$html的区别,并修正mail函数参数以确保邮件内容包含变量替换。
摘要由CSDN通过智能技术生成

Name:

Email:

Message:

Submit

php文件如下所示,包括2个数组,使变量之间的SWOP:和邮件

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);

?>

Thanks!

本身需要进入收件人:

Письмо с сайта

letter comes from #name#

email to reply #email#

message itself:#message#

问题是片段不会随着来自第电子表格。意味着html数据不会传输到php文件。

谢谢!

+1

您正在使用您的''邮件$ html'()'调用,而不是'$ email_message'(你做了所有的更换)。 –

+0

@ccKep,但我做了$ html = file_get_contents(“./ email-inlined.html”); 意味着现在$ html存储我想要发送的文件中的数据,我正确吗? –

+1

'$ 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);'。 –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值