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

Php邮件-包含数组和条件的消息变量,php,arrays,function,email,comma,Php,Arrays,Function,Email,Comma,我一直在尝试发送一封包含php生成的html代码的电子邮件 上下文是,我正在使用php生成一个网页,我正在尝试通过电子邮件发送这个网页,方法是复制我用来生成网页的代码,并使用邮件功能输入一条消息 我找到了一种生成包含php变量的电子邮件的方法,如以下示例所示: [...] $message = "<address> <strong>Adresse de livraison:</strong><

我一直在尝试发送一封包含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);
[...]
 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]['price'];
如果仍然抛出错误,请在注释中跟踪Apache日志。

只需将消息变量嵌入到该变量中即可。它还存在$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>";
$message=”“;
如果($disque!=“否”){
$message.=”
Disque先锋:“.$Disque”
";
$selected_product[]=$disceav;
$data=bdd\U select('从Nom=?'的产品中选择价格,$selected\U产品);
$message.=$data[0]['Price']。“€”;
$subtotalprice=$data[0]['Price']+$subtotalprice;
$message.=$subtotalprice;
$message.=”
1";
$message.=''.$data[0]['Price'].''欧元
";
}
$message.=“”;

谢谢!这会有所帮助,但$selected_product[]=$disqueav仍然存在问题。这一行的错误是Parse error:syntax error,意外的']',需要标识符(T_STRING)或变量(T_variable)或数字(T_NUM_STRING)。请对定义变量$disqieav的代码段进行注释。这是从$\u post中提取的变量。但我发现问题在于$selected\u product[]的写入方式;好啊而不是使用$selected_product[]=$disqueav;尝试使用array\u push($selected\u product,$disqueav);你不能像那样混合使用PHP和HTML。在输出HTML之前必须关闭PHP,然后再次打开PHP以使用更多PHP代码。我发现这是最简单的方法。
$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>";