これを正しく行うかどうか、またはそれが可能であるかどうかはわかりません。基本的には、変数$ cascadeTypeの値に応じて、テーブル<td>
の背景色を変更するだけです。PHPMailer:電子メールテンプレートの条件文
ユーザ入力を受け付けるフォーム:
<form action="CascadeFunction.php" method="post" name="cascader" id="cascader" enctype="multipart/form-data">
<label><span class="required">*</span>CASCADE TYPE</label><br /><br />
<label for="Release" class="radioitem">RELEASE
<input type="radio" name="cascadeType" value="Release" id="CascadeType_1" /></label>
<label for="Update" class="radioitem">UPDATE
<input type="radio" name="cascadeType" value="Update" id="CascadeType_2" />
</label>
<label for="Reminder" class="radioitem">REMINDER
<input type="radio" name="cascadeType" value="Reminder" id="CascadeType_3" /></label>
<label for="Information" class="radioitem">INFORMATION
<input type="radio" name="cascadeType" value="Information" id="CascadeType_4" /></label>
<input class="btn btn-primary" name="Submit" type="submit" id="submit" value="POST & CASCADE" />
</form>
上記フォームから送信されたデータは、ファイルCascadeFunction.phpによって処理されます。電子メールを送信するためにそのphpmailerのコードである場合:変数$ cascadeTypeを格納するための試みにおいて
$mail->IsHTML(true); // This tells the PhPMailer that the messages uses HTML.
$mail->MsgHTML(str_replace('%cascadeType%', $CascadeType, file_get_contents('emailtemplates/emailtemplate.php')), dirname(__FILE__));
、次のコードに見られるように、私は$ _SESSIONSを使用してみました:
<?php
// starting the session
session_start();
if (isset($_POST['Submit'])) {
$_SESSION['cascadeType'] = $_POST['cascadeType'];
}
?>
を次に内セッションにアクセスコード使用して電子メールテンプレート( emailtemplate.php ):電子メールテンプレート内、次に
<?php
// starting the session
session_start();
?>
を(emailtemplate.php)、以下の条件文を使用しました。
<tr>
<?php if ($_SESSION['cascadeType'] = "Information") : ?>
<td style="text-align:center; color:#FFF; background-color:#093; margin:10px; padding:10px 5px;" width="20%">
<h4 style="font-weight:bold;">%cascadeType%</h4>
</td>
<?php elseif ($_SESSION['cascadeType'] = "Update") : ?>
<td style="text-align:center; color:#FFF; background-color:#09F; margin:10px; padding:10px 5px;" width="20%">
<h4 style="font-weight:bold;">%cascadeType%</h4>
</td>
<?php elseif ($_SESSION['cascadeType'] = "Reminder") : ?>
<td style="text-align:center; color:#FFF; background-color:#F00; margin:10px; padding:10px 5px;" width="20%">
<h4 style="font-weight:bold;">%cascadeType%</h4>
</td>
<?php else : ?>
<td style="text-align:center; color:#FFF; background-color:#6C3; margin:10px; padding:10px 5px;" width="20%">
<h4 style="font-weight:bold;">%cascadeType%</h4>
</td>
<?php endif ; ?>
<td style="color:#337AB7; text-align:right; padding-right: 20px;" width="80%">
<h3 style="margin-bottom:2px;">TARGET AUDIENCE</h3>
<p style="margin-top:2px;">%targetAudience%</p>
</td>
電子メールの出力は、ちょうどすべてのテーブル<td>
が表示され、明らかに動作しません。条件文が電子メールテンプレート内で実際には機能しない場合には、どのような状況に最適な方法でアドバイスしてください。
これはどのようにロード/実行しているのかわかりません。 – Synchro
@シンクロ、ご覧いただきありがとうございます。私は私の質問に変更を加えました。希望が役立ちます。 –