Я пытаюсь поместить оператор if внутри тела вместе с html, но он не работает. Я использую PHPMailer, что-то не так с кодом?
<?php
require 'email/PHPMailerAutoload.php';
extract($_POST);
$mail = new PHPMailer;
$mail ->isHTML(true);
$mail ->CharSet = 'UTF-8';
$mail ->Body . = "
if ($result != null){
echo "Name: " $result
}
";
Я попробовал так, как сказал Артем Медяник, и это сработало, но когда я поставил другие переменные таким образом, это не сработало.
$body = '';
if ($result_SRV_AA_A10_name_go != null) {
$body = "Name: " . $result_SRV_AA_A10_name_go;
}
if ($result_SRV_AA_A10_email_go != null) {
$body = "E-mail: " . $result_SRV_AA_A10_email_go;
}
if ($result_SRV_AA_A10_tel_go != null) {
$body = "Telefone: " . $result_SRV_AA_A10_tel_go;
}
if ($result_SRV_AA_B9_name_go != null) {
$body = "Name: " . $result_SRV_AA_B9_name_go;
}
if ($result_SRV_AA_B9_email_go != null) {
$body = "E-mail: " . $result_SRV_AA_B9_email_go;
}
if ($result_SRV_AA_B9_tel_go != null) {
$body = "Telefone: " . $result_SRV_AA_B9_tel_go;
}
$body = json_encode($body);
$mail ->Body .= $body;
Моя идея состоит в том, чтобы проверить ответы, которые были заполнены, а затем отправить их наилучшим образом по электронной почте. что я мог сделать, чтобы достичь этого?
Пожалуйста, попробуйте это:
<?php
require 'email/PHPMailerAutoload.php';
extract($_POST);
$result = {something};
$mail = new PHPMailer;
$mail ->isHTML(true);
$mail ->CharSet = 'UTF-8';
$body = "";
if ($result != null) {
$body = "Name: " . $result;
}
$body = json_encode($body);
$mail ->Body .= $body;
@VitorFreitas, но ваш код вопроса включает только одну переменную. Итак, ответ Артема правильный, исходя из предоставленных вами деталей.
Пожалуйста, дайте мне знать все возможные ситуации, которые вы хотите исправить.
Пожалуйста, попробуйте еще раз:
$body = '';
if ($result_SRV_AA_A10_name_go != null) {
$body .= "Name: " . $result_SRV_AA_A10_name_go;
}
if ($result_SRV_AA_A10_email_go != null) {
$body .= "E-mail: " . $result_SRV_AA_A10_email_go;
}
if ($result_SRV_AA_A10_tel_go != null) {
$body .= "Telefone: " . $result_SRV_AA_A10_tel_go;
}
if ($result_SRV_AA_B9_name_go != null) {
$body .= "Name: " . $result_SRV_AA_B9_name_go;
}
if ($result_SRV_AA_B9_email_go != null) {
$body .= "E-mail: " . $result_SRV_AA_B9_email_go;
}
if ($result_SRV_AA_B9_tel_go != null) {
$body .= "Telefone: " . $result_SRV_AA_B9_tel_go;
}
$mail ->Body .= $body;
Это сработало!! Я ценю вашу помощь .. Могу ли я сделать какое-либо редактирование стиля таким образом, может быть, просто пропустить строку между ответами? Потому что все они пришли в одну и ту же очередь
Да, вы можете использовать $body.= "<p>Телефон: ". $результат_SRV_ . "</p>";
Привет, Артем, я задал еще один вопрос, связанный с этим, ты можешь взглянуть и посмотреть, можешь ли ты чем-нибудь помочь? stackoverflow.com/questions/65457345/…
он работал хорошо с одной переменной, но когда я поставил другие переменные таким образом, это не сработало. Моя идея состоит в том, чтобы проверить ответы, которые были заполнены, а затем отправить их наилучшим образом по электронной почте. что я мог сделать, чтобы достичь этого?