1

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

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

我找到了一种生成包含 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);
[...]

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

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

 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>
}

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

我收到此错误:

Parse error: syntax error, unexpected ']', expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING)

我的问题是,有没有办法编写这部分代码,这样我就不会收到任何错误,并且我可以完全按照我看到的方式发送页面。

非常感谢。

4

2 回答 2

1

尝试使用 $data[0]['price']; 如果仍然抛出错误,请在评论中跟踪 Apache 日志。

于 2018-08-12T14:47:58.777 回答
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'] . "€&lt;/td>
</tr>";

}

$message .="</tbody></table>";
于 2018-08-12T15:03:39.613 回答