【问题标题】:Add condition into PHP email send在 PHP 电子邮件发送中添加条件
【发布时间】:2013-12-19 11:16:56
【问题描述】:

我正在使用 PHP 创建一封电子邮件,但我需要在其中添加一个 PHP 循环和条件语句。这是我的代码:

$message = '
<table width="600" border="0" cellspacing="0" cellpadding="5">
  <tr>
    <td height="50"><strong>Shipping address</strong>
    <p>'.$showDelivery['first_name']." ".$showDelivery['surname'].'</p>
    <p>'.$showDelivery['address1'].'</p>
    <p>'.$showDelivery['address2'].'</p>
    <p>'.$showDelivery['address3'].'</p>
    <p>'.$showDelivery['town'].'</p>
    <p>'.$showDelivery['county'].'</p>
    <p>'.$showDelivery['postcode'].'</p>
    <p>&nbsp;</p>
    <p><strong>Shipping Date</strong> '.$monthName = date("F", mktime(0, 0, 0, $show['shipping_month'], 10)) . " ".$show['shipping_day']." ".$show['shipping_time'].'</p>
    </td>
    <td width="150" height="50">'.if($show['number_of_people'] == 0) {     $show['number_of_people']; }."</td>
</tr>
</table>';

我在最后一个表数据中添加了上面的条件,但它没有运行。

谁能帮忙?

非常感谢!

【问题讨论】:

  • .($show['number_of_people'] == 0 ? $show['number_of_people'] : ''). 试试这个。

标签: php html email loops concatenation


【解决方案1】:

您在字符串中输入了if,这是不对的。

试试这个方法……

$message = '
<table width="600" border="0" cellspacing="0" cellpadding="5">
  <tr>
    <td height="50"><strong>Shipping address</strong>
    <p>'.$showDelivery['first_name']." ".$showDelivery['surname'].'</p>
    <p>'.$showDelivery['address1'].'</p>
    <p>'.$showDelivery['address2'].'</p>
    <p>'.$showDelivery['address3'].'</p>
    <p>'.$showDelivery['town'].'</p>
    <p>'.$showDelivery['county'].'</p>
    <p>'.$showDelivery['postcode'].'</p>
    <p>&nbsp;</p>
    <p><strong>Shipping Date</strong> '.$monthName = date("F", mktime(0, 0, 0, $show['shipping_month'], 10)) . " ".$show['shipping_day']." ".$show['shipping_time'].'</p>
    </td>
    <td width="150" height="50">';

if($show['number_of_people'] == 0) {     
    $message .= $show['number_of_people']; 
}

$message .=.'</td>
</tr>
</table>';

【讨论】:

    【解决方案2】:

    您不能将if() 与字符串连接。 你是不是在你提交$message之前,然后将变量添加到你$message

    示例:

    $number = ($show['number_of_people'] == 0) ? $show['number_of_people'] : '';
    $message = '.......<td>'.$number.'</td>......';
    

    希望对你有帮助:)

    【讨论】:

      【解决方案3】:

      假设您尝试做的是回显变量 $show,那么您需要将回显函数放入您的代码中。

      if($show['number_of_people'] == 0) {     $show['number_of_people']; }
      

      应该是

      if($show['number_of_people'] == 0) {   echo $show['number_of_people']; }
      

      【讨论】:

        【解决方案4】:

        您可以在开始之前将其声明为变量。

        $showPeople = '';
        if($show['number_of_people'] === 0){ 
           $showPeople = $show['number_of_people']; 
        }
        
        $message = '
        <table width="600" border="0" cellspacing="0" cellpadding="5">
          <tr>
            <td height="50"><strong>Shipping address</strong>
            <p>'.$showDelivery['first_name']." ".$showDelivery['surname'].'</p>
            <p>'.$showDelivery['address1'].'</p>
            <p>'.$showDelivery['address2'].'</p>
            <p>'.$showDelivery['address3'].'</p>
            <p>'.$showDelivery['town'].'</p>
            <p>'.$showDelivery['county'].'</p>
            <p>'.$showDelivery['postcode'].'</p>
            <p>&nbsp;</p>
            <p><strong>Shipping Date</strong> '.$monthName = date("F", mktime(0, 0, 0,  
                $show['shipping_month'], 10)) . " ".$show['shipping_day']."
                ".$show['shipping_time'].'</p>
            </td>
            <td width="150" height="50">'. $showPeople ."</td>
        </tr>
        </table>';
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-09-16
          • 2011-05-25
          • 2016-04-13
          • 1970-01-01
          • 2014-08-17
          • 2015-04-29
          • 1970-01-01
          相关资源
          最近更新 更多