簡體   English   中英

使用php通過電子郵件生成具有動態值的html

[英]Email generated html with dynamic values using php

我有一個格式簡單的證書。 需要使用數據庫中的值填充證書並通過電子郵件發送。 以下是我所做的快速修復。 問題是發送的證書不是一個人的證書,而是不是一個人的證書。

$query ="SELECT  r.email, r.LastName, r.OpNo, 
r.QuizNo From tbl_cert where Pass =1 AND Printed is null;
$result=mysql_query($query);
while( ($row= mysql_fetch_array($result)) ){
            $subject = "CPD Certificate";
    $email = $row['email'];
    $LastName = $row['LastName'];
    $OpNo = $row['OpNo'];
    $TestNo = $row['QuizNo'];

            $headers  = "From: online@example.com";
    $headers = 'MIME-Version: 1.0' . "\r\n"; 
    $headers .= 'Content-type: text/html; 
              charset=iso-8859-1' . "\r\n";

            $mail_body ='<html>...Here its were my my 
            html comes with values from table...</html>';

            if (mail($to, $subject, $mail_body, $headers)){
            $query = "UPDATE `tbl_cert` SET Printed = 1 
               WHERE CertificateNo = "  . $CertificateNo;

            $certresult=mysql_query($query);

            if ($certresult) {

        header('Location:tsCertlist.php');
        }

問題是如何使$ mail_body在while循環中同時包含html和php。 我生成的表單或證書與4個已通過但未打印其證書的用戶相同。

創建一個單獨的模板文件,其中包含您的HTML以及要插入變量的位置/替換%REPLACE_FIRSTNAME%之類的內容

然后使用str_replace()更改db / input / whatever變量和您所需數據的替換變量。

$mail_body = file_get_contents("templates/emailtemplate.htm");
$mail_body = str_replace("%REPLACE_FIRSTNAME%",value_from_DB,$template);

排序后,如果要更改布局,只需相應地編輯模板文件。

$certNo = 0;
//get $certNo from data base
$mail_body ='<html>'.$certNo.'</html>';
//send

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM