PHP邮件-包含数组和条件的消息变量

时间:2018-08-12 14:39:45

标签: php arrays function email comma

我一直试图发送一封包含php生成的html代码的电子邮件。

上下文是,我正在使用php生成网页,并且试图通过复制用于生成网页的代码并使用邮件功能输入消息来通过电子邮件发送该网页。

我找到了一种生成包含php变量的电子邮件的方法,例如以下示例:

src

一切都很完美,并且电子邮件发送正确。

但是现在我的代码包含php部分,例如以下示例:

 [...]   
$message = "<address>
                            <strong>Adresse de livraison:</strong><br>
                             $prenom  $nom<br>
                             $adress1<br>
                             $adress2<br>
                             $postalcode  $ville,  $country
                        </address>";
    mail($destinataire, $objet, $message, $headers);
[...]

即使像$ data ['0']这样的数组,它也不起作用,即使我对它使用单逗号,对$ message变量也使用双逗号。

我收到此错误:

 if ($disque!= 'No') {
<tr>
    <td>Disque avant :  $disque</td>
    <td class='text-center'>

        $selected_product[] = $disqueav;
        $data = bdd_select('SELECT Price FROM products WHERE Nom = ?', $selected_product);
        echo $data['0']['Price'] . '€';
        $subtotalprice = $data['0']['Price'] + $subtotalprice;

    </td>
    <td class='text-center'>1</td>
    <td class='text-right'> $data['0']['Price'] . '€';</td>
</tr>
}

我的问题是,有没有办法编写这段代码,这样我就不会出现任何错误,并且可以按照原样发送页面。

非常感谢您。

2 个答案:

答案 0 :(得分:1)

尝试使用$ data [0] ['price']; 如果仍然抛出错误,请在Apache尾注注释。

答案 1 :(得分:1)

只需使一个消息变量将您的消息字符串嵌入该变量即可。 $ data ['0']也有问题;因为0是整数索引而不是字符串,所以它应该是$ data [0]而不是$ data ['0']。我认为这对您有用。我没有数据库,因此无法正确测试。

$message = "<table><tbody>";
if ($disque!= 'No') {
    $message.="<tr>
    <td>Disque avant :".  $disque."</td>
    <td class='text-center'>";

    $selected_product[] = $disqueav;
        $data = bdd_select('SELECT Price FROM products WHERE Nom = ?', $selected_product);
        $message .= $data[0]['Price'] . "€";
        $subtotalprice = $data[0]['Price'] + $subtotalprice;
        $message .= $subtotalprice;
    $message .= "</td>
    <td class='text-center'>1</td>";
    $message .= "<td class='text-right'> ".$data[0]['Price'] . "€</td>
</tr>";

}

$message .="</tbody></table>";