php - PHP 电子邮件数组组织
问题描述
所以我有一个小问题希望你能解决我的简单问题。
我有一个带有 ARRAY 的 HTML 表单。我在哪里插入多个产品。
一切都很好。我收到一封带有价值观的电子邮件。但就我而言,当我在电子邮件中收到信息时,它看起来像这样:
我的目标是(如果可能创建类似的组)
接收电子邮件,例如:
产品 1:1 2 3 4 5
产品二:
1 2 3 4 5
-------------------PHP 正文
<?php
use PHPMailer\PHPMailer\PHPMailer;
require_once 'phpmailer/Exception.php';
require_once 'phpmailer/PHPMailer.php';
require_once 'phpmailer/SMTP.php';
$mail = new PHPMailer(true);
$my_path ='phpmailer/uploads';
$alert = '';
if(isset($_POST['submit'])){
$name = $_POST['name'];
$nomeultimo = $_POST['nomeultimo'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$morada = $_POST['morada'];
$localidade = $_POST['localidade'];
$codigopostal = $_POST['codigopostal'];
$montagem = $_POST['montagem'];
$adicionamento = $_POST['adicionamento'];
$empresa = $_POST['empresa'];
$empresa_nome = $_POST['empresa_nome'];
//MONTAGEM
$montagem = $_POST['montagem'];
$morada_montagem = $_POST['morada_montagem'];
$nif = $_POST['nif'];
// ESTORE 1
$Quantidade = $_POST['Quantidade'];
$Colecao = $_POST['Colecao'];
$Caracteristicas = $_POST['Caracteristicas'];
$Altura = $_POST['Altura'];
$Largura = $_POST['Largura'];
//$pretendidos_estores = $_POST['pretendidos_estores'];
$country = $_POST['country'];
$state = $_POST['state'];
$tecnico = $_POST['tecnico'];
$politicaprivacidade = $_POST['politicaprivacidade'];
$message = $_POST['message'];
try{
{
$output = "";
foreach ($arr as $item) $output .= $item."<br/>";
return $output;
}
$mailContent = " <p><h3>ORÇAMENTO - ONLINE PEDIDO</h3></p>
<p><h3>⇰ Informação Cliente:</h3></p>
<h3>▪ Tipo de cliente ( 0 = Particular | 1 = Empresa):</h3> $empresa <br>
<h3>▪ Nome Empresa:</h3> $empresa_nome <br>
<h3>▪ Montagem ( 0 = Nao Quero Montagem | 1 = Quero Montagem):</h3> $montagem <br>
<h3>▪ Local de montagem:</h3> $morada_montagem <br>
<h3>▪ Primeiro Nome:</h3> $name <br>
<h3>▪ Ultimo Nome: </h3>$nomeultimo <br>
<h3>▪ Email:</h3> $email <br>
<h3>▪ Nº Telefone:</h3> $phone <br>
<h3>▪ NIF:</h3> $nif <br>
<h3>▪ Morada: </h3>$morada <br>
<h3>▪ Cidade: </h3>$localidade <br>
<h3>▪ Código Postal:</h3> $codigopostal <br>
<p><h3>⇰ Informação Produto:</h3></p>
---------------------------------------------<br>
<p><h3>⇰ Produtos:</h3></p>";
for ($i = 0; $i < count($Caracteristicas); $i++)
{
$mailContent .= $Caracteristicas[$i].", ".$Colecao[$i].", ".$Largura[$i].", ".$Altura[$i].", ".$Quantidade[$i];
}
$mailContent .= "
---------------------------------------------<br>
$mail->Body = $mailContent;
<h3>▪ Visita do Tecnico:</h3> $tecnico <br>
<h3>▪ Mensagem :</h3> $message<br>
<p><h3>Cliente aceita (política de privacidade)</h3>$politicaprivacidade<br></p>
<p><img src=\"cid:logoimg\" /></p>";
foreach ($_FILES["attachment"]["name"] as $k => $v) {
$mail->AddAttachment( $_FILES["attachment"]["tmp_name"][$k], $_FILES["attachment"]["name"][$k] );
}
$mail->send();
$alert = '<div class="alert-success">
<span>O seu orçamento foi pedido com sucesso. Em breve iremos enviar um email.<br>
Obrigado!</span>
</div>';
} catch (Exception $e){
$alert = '<div class="alert-error">
<span>'.$e->getMessage().'</span>
</div>';
}
}
?>
--------------- HTML代码
<div class="black-border">
<div class="gcore-line-tr gcore-form-row" id="ftr-multi-23">
</div>
<div class="gcore-line-tr gcore-form-row" id="ftr-multi-45">
<div class="gcore-line-td" id="ftd-multi-45">
<h4 class="id-color">ADICIONAR ESTORE</h4><br>
<div class="gcore-subinput-container" id="fitem-Quant">
<div class="gcore-input-container gcore-display-table gcore-input" id="fin-Quant"><input class="form-control" name="Quantidade[]" id="Quant" value="" placeholder="Quantidade" class="" title="" style="" data-inputmask="" data-load-state="" data-tooltip="" type="text"></div>
</div>
<div class="gcore-subinput-container" id="fitem-Caracteristicas">
<div class="gcore-input-container gcore-display-table gcore-input" id="fin-Caracteristicas"><input class="form-control" name="Caracteristicas[]" id="Caracteristicas" value="" placeholder="Modelo Estore" class="" title="" style="" data-inputmask="" data-load-state="" data-tooltip="" type="text"></div>
</div>
<div class="gcore-subinput-container" id="fitem-Colecao">
<div class="gcore-input-container gcore-display-table gcore-input" id="fin-Colecao"><input class="form-control" name="Colecao[]" id="Colecao" value="" placeholder="Coleção" class="" title="" style="" data-inputmask="" data-load-state="" data-tooltip="" type="text"></div>
</div>
<div class="gcore-subinput-container " id="fitem-Altura">
<div class="gcore-input-container gcore-display-table gcore-input" id="fin-Altura"><input class="form-control" name="Altura[]" id="Altura" value="" placeholder="Altura (cm)" class="" title="" style="" data-inputmask="" data-load-state="" data-tooltip="" type="text"></div>
</div>
<div class="gcore-subinput-container" id="fitem-Largura">
<div class="gcore-input-container gcore-display-table gcore-input" id="fin-Largura"><input class="form-control" name="Largura[]" id="Largura" value="" placeholder="Largura (cm)" class="" title="" style="" data-inputmask="" data-load-state="" data-tooltip="" type="text"></div>
</div>
<div class="separator" style="background-size: cover;"><span><i class="fa fa-circle"></i></span></div>
</div>
</div>
<div class="gcore-line-tr gcore-form-row" id="ftr-custom4">
<div class="gcore-line-td" id="ftd-custom4">
<div class="gcore-display-table gcore-input" id="fin-custom4">
<div class="btn btn-line" id="add_row">Novo Estore</div>
<script>
jQuery('#add_row').click(function() {
var clone = jQuery('#ftr-multi-45 .gcore-line-td').first().clone();
clone.find('input').val('')
jQuery('#ftr-multi-45.gcore-line-tr').append(clone);
})
</script>
</div>
</div>
</div>
</div>
错误图像:错误图像
解决方案
诀窍是选择一个数组并用循环遍历它,for
这样你就得到了一个计数器。然后,您可以从与当前计数器匹配的每个数组中选择项目并显示它 - 这将为您提供属于一起的结果。
(要使其正常工作,所有数组中的项目数必须相同,但从您所展示的内容来看,这应该不是问题。
尝试这样的事情:
$mailContent = "<p><h3>ESTORES RAINHA | ORÇAMENTO - ONLINE PEDIDO</h3></p>
<p><h3>⇰ Informação Cliente:</h3></p>
<h3>▪ Tipo de cliente ( 0 = Particular | 1 = Empresa):</h3> $empresa <br>
<h3>▪ Nome Empresa:</h3> $empresa_nome <br>
<h3>▪ Montagem ( 0 = Nao Quero Montagem | 1 = Quero Montagem):</h3> $montagem <br>
<h3>▪ Local de montagem:</h3> $morada_montagem <br>
<h3>▪ Primeiro Nome:</h3> $name <br>
<h3>▪ Ultimo Nome: </h3>$nomeultimo <br>
<h3>▪ Email:</h3> $email <br>
<h3>▪ Nº Telefone:</h3> $phone <br>
<h3>▪ NIF:</h3> $nif <br>
<h3>▪ Morada: </h3>$morada <br>
<h3>▪ Cidade: </h3>$localidade <br>
<h3>▪ Código Postal:</h3> $codigopostal <br>
<p><h3>⇰ Informação Produto:</h3></p>
---------------------------------------------<br>
<p><h3>⇰ Produtos:</h3></p>";
for ($i = 0; $i < count($Caracteristicas); $i++)
{
$mailContent .= $Caracteristicas[$i].", ".$Colecao[$i].", ".$Largura[$i].", ".$Altura[$i].", ".$Quantitdade[$i];
}
$mailContent .= "<br>
---------------------------------------------<br>";
$mail->Body = $mailContent;
显然,您可以根据您的要求使字符串的格式更加复杂。这只是为了让您了解如何遍历数组。
推荐阅读
- node.js - Puppeteer 从 elementHandle 获取元素导致协议错误
- spring - 如何在spring boot中配置多个身份验证提供?
- javascript - 带有滞后的移动按钮控件的 JavaScript 游戏
- android - TabLayout 根本没有填充 ViewPager
- php - 未找到 Laravel 存储请求(使用 axios)
- sql - SQL Server drop query request
- c# - 捕获“指定的演员表无效。” 在 C# ASP.net MVC 中接收数据时出错?
- c++ - 编写另一个以 LPCTSTR 开头的文本行的最佳方法是什么?
- django - Heroku 应用程序在 gitlab-ci 推送和发布后崩溃
- php - 在 Laravel Web 客户端和 Lumen 服务器中对用户进行身份验证