0

我正在尝试使用某种类型的邮件合并,其中 PHP 读取文本文件,但在该文本中我试图“替换”一些关键字,以便如果我添加“#FIRSNAME#”、“#LASTNAME#”、“# EMAIL#”,将其替换为 mail() 函数中表单上输入的字段.... 我的表单有 10 个相同的字段名称,意思是:10 个名字字段,10 个姓氏,10 个电子邮件。我用“for”循环吐出 10 个相同的 HTML 输入(我这样做而不是键入 10 个相同类型的 HTML 输入标签)。PHP 使用验证处理此表单。使用 mail() 函数。

我的代码目前在表单和 PHP 在同一页面“myform.php”上处理它的地方工作:

<?php validation ?> // looks at if there are empty fields and or if submitted 
<form>
for($i=1; $i <= 10; $i++) { echo '<input firstname etc> <input lastname> <input email>';}
</form>

<?php 
//print or echos the "Thank you" if there's no problem with the form

//emails... I currently have HERE'S MY code that I want to use file_get_contents function somehow
$body = "Thank you {$_POST['firstname'][$i]} for registering with the blah   blah blah  blah!";
mail($_POST['email'][$i], 'Party Invitation', $body, 'From: email@example.com');
}
?>

我想“阅读”和邮件合并关键字的外部文本文件......

You have requested this form... you're invited to our party..
Name: #FIRSTNAME# #LASTNAME#
Email: #EMAIl

我想使用外部文本文件将这些关键字替换为 $firstname 和 $lastname,以便使用 mail() 函数将其作为电子邮件发送。可以这样做吗?原因是这个外部文本文件就像我想更改的“模板”。

4

1 回答 1

0

实际上有一个简单的答案,不涉及数据库,类等。

使用 file_get_contents... 读取模板 sometempalte.txt 文件。

<?php

//some form with validation

//send form via email
//In this somethingtemplate.txt has content as an email message
//"Hello #name#. You registered with email: #email#."
//using str_replace to replace these keywords
$body = file_get_contents("sometemplate.txt"); 
$body = str_replace("#name#",$_POST['name'],$body);
$body = str_replace("#email#",$_POST['email'],$body);
mail($_POST['email'], 'Subject', $body, 'From: email@email.com');

?>
于 2013-08-30T06:23:45.790 回答