我有一个 PHP 脚本,我通过它发送 HTML 电子邮件。我正在使用“for”循环来收集数据并将其存储在变量中。循环被指示运行 25 次。问题是它只循环了 19 次。我检查了语法中是否有任何未编码的标签或拼写错误,但没有找到。我发布了 for 循环部分,以防你们中的任何人发现我看不到的东西。这真的令人沮丧,因为我认为解决方案非常简单,但我无法发现问题。
我的“mail()”函数的标题很好。他们在这里以防万一
$headers = "From: $from \r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
这是我的 for 循环:
$abc ="<table width='600'>";
$abc .= "<tr>
<td bgcolor='#d6bf86'><span style='color:#9c2a00'>Number of Products</span></td>
<td align='center' bgcolor='#fde4d0'>$pagess</td>
<td align='center' bgcolor='#c3deb9'>$pagese</td>
<td align='center' bgcolor='#bee7f8'>$pagesu</td>
</tr>";
for($i=1; $i<=25; $i++)
{
$abc .="<tr>";
if($i % 2 == 0) // EVEN ROW
{
$abc .= "<td bgcolor='#d6bf86' width='260'><span style='color:#9c2a00'>".${f.$i}."</span></td>";
}
else // ODD ROW
{
$abc .= "<td bgcolor='#fffbd0' width='260'><span style='color:#9c2a00'>".${f.$i}."</span></td>";
}
if(isset(${s.$i}))
{
$abc .= "<td bgcolor='#fde4d0' align='center'>Yes</td>";
${s.$i} = "Yes";
}
else
{
$abc .= "<td bgcolor='#fde4d0' align='center'>No</td>";
${s.$i} = "No";
}
if(isset(${e.$i}))
{
$abc .= "<td bgcolor='#c3deb9' align='center'>No</td>";
${e.$i} = "Yes";
}
else
{
$abc .= "<td bgcolor='#c3deb9' align='center'>Yes</td>";
${e.$i} = "No";
}
if(isset(${u.$i}))
{
$abc .= "<td bgcolor='#bee7f8' align='center'>No</td>";
${u.$i} = "Yes";
}
else
{
$abc .= "<td bgcolor='#bee7f8' align='center'>Yes</td>";
${u.$i} = "No";
}
$abc .="</tr>";
}
if(isset($_POST['dscs'])) // DISCOUNT HAS BEEN APPLIED
{
$abc .= "<tr>
<td>Base Price</td>
<td align='center'>$sums</td>
<td align='center'>$sume</td>
<td align='center'>$sumu</td>
</tr>";
$abc .= "<tr>
<td>Discount Offered</td>
<td align='center'>$discount% </td>
<td align='center'>$discount% </td>
<td align='center'>$discount% </td>
</tr>";
$abc .= "<tr>
<td>Effective Price</td>
<td align='center'>$dscs</td>
<td align='center'>$dsce</td>
<td align='center'>$dscu</td>
</tr>";
}
else
{
$dscs = $sums;
$dsce = $sume;
$dscu = $sumu;
$abc .= "<tr>
<td>Total Price</td>
<td align='center'>$sums</td>
<td align='center'>$sume</td>
<td align='center'>$sumu</td>
</tr>";
}
$abc .="</table>";
我可以附上正在发送的电子邮件的屏幕截图,以了解代码是如何破坏的。如果你也想要截图,请告诉我。
PS:我将此代码复制粘贴到一个单独的文件中并运行它,它工作正常。循环迭代了 25 次。这让我相信将其放入 HTML 电子邮件中存在问题。
如果有帮助,还可以添加电子邮件脚本:
$to = $clem;
$subject = "Something goes here";
$message = "<html>
<head></head>
<body style='background-color:#ffffff; font-family:Lucida Sans Unicode, Lucida Grande, sans-serif;'>
<table width='600'>
<tr>
<td>$abc</td>
</tr>
</table>
</body>
</html>";
$from = "$logged_user";
$headers = "From: $from \r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$res=mail($to,$subject,$message,$headers);
在此先感谢,尼萨尔