我对跟随......感到有点困惑。
消息提醒功能
public static function MsgAlert($email, $name, $subject, $message)
{
$msg = include('mailer.php');
$subject = 'New Message';
if ($email != '' && validate_email($email))
{
$mailer = new PHPMailer();
$mailer->SetFrom(ADMIN_EMAIL, SITE_NAME);
$mailer->AddAddress($email);
$mailer->Subject = $subject;
$mailer->Body = Postman::nl2br($msg);
$mailer->AltBody = $msg;
$mailer->Send();
}
}
我已将我的简报设计放入mailer.php,请检查标记......
mailer.php
<div>
<h1><?php $subject; ?><span>27 September 2011 at 6:26 pm</span></h1>
<div>
<p>Hello <?php $name; ?>,</p>
<?php $message; ?>
</div> <!--message container -->
</div>
我使用正确的方法还是应该做更好的事情因为它不起作用。请建议。感谢。
答案 0 :(得分:5)
您不能包含变量,但您可以使用php的output buffering functions来实现所需的结果,例如:
ob_start();
include 'mailer.php';
$msg = ob_get_clean();
这将呈现模板并将结果存储在$msg
。
答案 1 :(得分:5)
include()
不会返回任何内容。成功返回true(包含/执行文件)或false(无法包含文件)。根据您当前的结构,您需要这样:
ob_start();
include('mailer.php');
$msg = ob_get_clean();
捕获包含的mailer.php脚本的输出。