-2

我无法弄清楚为什么某些 php 在我正在尝试构建的 HTMl 电子邮件中无法正确呈现。代码(大部分 html 元素已被删除):

$messaget = "
<html>
<head>
<title>Your Loan Information</title>
<style type=text/css>
table {border: 0px solid white}
#top {width:590px; margin-left:5px;}
#foot {width:540px; margin-left:10px;}

#left {width:560px; margin-left:20px;}
h1 {margin-left:0px; }
body,td,th {
font-family:Arial, Helvetica, sans-serif;
    font-size: 13px;
}
td, tr {border: 0}
</style>
</head>
<body>

    <p>Thank you, $custfirst $custlast
    <br/>Customer Id: $custid,</p>

    <h3>What we have:</h3>

    <strong>What We Still Need: </strong><br/>
foreach ($needed as &$value) {
    $value<br/>
}'



</body>
</html>

第一个变量,谢谢你,$custfirst $custlast,正在工作。当我发送电子邮件时,我看到“谢谢你,John Smith”

foreach ($needed as &$value) {
        $value<br/>
    }

不执行 php,而是直接显示“foreach ($needed as &$value) { $value
}” 谁能帮我弄清楚为什么?

4

3 回答 3

2

您不能在字符串中使用逻辑调用。您需要在变量中准备字符串并将其插入。前任:

$string = '';
foreach ($needed as &$value) {
    $string .= $value.'<br>';
}

然后在你的字符串中

$message = "... $string ...";
于 2013-08-22T19:18:32.743 回答
0

将字符串附加到您的变量,而不是在字符串中使用逻辑调用。

<?php
  $messaget = null;
  $messaget .= '<html><head>...';
  foreach ($needed as &$value) {
      $messaget .= $value.'<br>';
  }
  $messaget .= '...</body></html>';
?>
于 2013-08-22T19:29:05.910 回答
0

创建一个文件 my_html.php :

<html>
<head>
<title>Your Loan Information</title>
<style type=text/css>
table {border: 0px solid white}
#top {width:590px; margin-left:5px;}
#foot {width:540px; margin-left:10px;}

#left {width:560px; margin-left:20px;}
h1 {margin-left:0px; }
body,td,th {
font-family:Arial, Helvetica, sans-serif;
    font-size: 13px;
}
td, tr {border: 0}
</style>
</head>
<body>

    <p>Thank you, $custfirst $custlast
    <br/>Customer Id: $custid,</p>

    <h3>What we have:</h3>

    <strong>What We Still Need: </strong><br/>
<?php foreach ($needed as &$value): ?>
   echo $value . '<br/>';
<?php endforeach; ?>
</body>
</html>

在其他文件中包含此文件 my_html.php。

我希望能帮助你。

于 2013-08-22T20:11:32.307 回答