首页 > 解决方案 > 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>

PHP 代码的图像

错误图像:错误图像

标签: phphtmlarraysemail

解决方案


诀窍是选择一个数组并用循环遍历它,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;

显然,您可以根据您的要求使字符串的格式更加复杂。这只是为了让您了解如何遍历数组。


推荐阅读