0
I insert in 3 different tables and when the checkbox nay is different from empty send an email to the responsible. Everything is working correctly. I will show the code:
$Carro = $_POST['Carro'];
for ($i=0;$i<count($_POST["Carro"]);$i++) {
$car = $_POST['Carro'][$i];
$selecionado = $_POST['Selecionado'][$i];
if( $selecionado != ""){
$selecionado = $selecionado == "on" ? "X" : "";
$stmt = $conn->prepare("INSERT INTO Registolistagem (Carro, Selecionado) VALUES ('$car', '$selecionado')");
mysqli_stmt_execute($stmt);
$last_id = $conn->insert_id;
}
}
$colaborador = $_POST['Colaborador'];
for ($i=0;$i<count($_POST["Colaborador"]);$i++) {
$col = $_POST['Colaborador'][$i];
$stmt2 = $conn->prepare("INSERT INTO Registolistagem2 (IdLista, Colaborador, Data) VALUES ('$last_id', '$col', '".date('Y-m-d\TH:i:s')."')");
mysqli_stmt_execute($stmt2);
}
$Produto = $_POST['Produto'];
for ($i=0;$i<count($_POST["Produto"]);$i++) {
$prod = $_POST['Produto'][$i];
$sim = $_POST['Sim'][$i];
$nao = $_POST['Nao'][$i];
$obsevacao = $_POST['Observacao'][$i];
$stmt1 = $conn->prepare("INSERT INTO Registolistagem1 (IdList, Produto, Sim, Obsevacao) VALUES ('$last_id', '$prod', '$sim', '$obsevacao')");
mysqli_stmt_execute($stmt1);
if($sim != "Sim"){
require ("phpmailer/class.phpmailer.php");
require ("phpmailer/class.smtp.php");
# Inicia a classe PHPMailer
$mail = new PHPMailer();
# Define os dados do servidor e tipo de conexão
$mail->IsSMTP(); // Define que a mensagem será SMTP
$mail->CharSet = 'utf-8';
$mail->Host = "smtp.gmail.com"; # Endereço do servidor SMTP, na WebHS basta usar localhost caso a conta de email esteja na mesma máquina de onde esta a correr este código, caso contrário altere para o seu desejado ex: mail.nomedoseudominio.pt
$mail->Port = 587; // Porta TCP para a conexão
$mail->SMTPSecure = 'tls';
$mail->SMTPAutoTLS = false; // Utiliza TLS Automaticamente se disponível
$mail->SMTPAuth = true; # Usar autenticação SMTP - Sim
$mail->Username = '[email protected]'; # Login de e-mail
$mail->Password = 'xxxxxx'; // # Password do e-mail
# Define o remetente (você)
$mail->From = "[email protected]"; # Seu e-mail
$mail->FromName = "Colaborador"; // Seu nome
# Define os destinatário(s)
$mail->AddAddress('[email protected]', 'xxxxxxxx
#$mail->AddAddress('[email protected]'); # Caso queira receber uma copia
$mail->AddCC('[email protected]', 'xxxxxxx'); # Copia
#$mail->AddBCC('[email protected]', 'Pessoa Nome 3'); # Cópia Oculta
# Define os dados técnicos da Mensagem
$mail->IsHTML(true); # Define que o e-mail será enviado como HTML
#$mail->CharSet = 'iso-8859-1'; # Charset da mensagem (opcional)
# Define a mensagem (Texto e Assunto)
$mail->Subject = "Organização de Carross"; # Assunto da mensagem
$mail->Body = "Informo que está em falta um ou mais produtos na organização do carro.
<html>
<head>
</head>
<body>
<h2>Registo de Organização dos Carros</h2>
<tr>
<th>Colaborador: ".$col."</th><p></br>
<th>Produto: ".$prod."</th><p></br>
<th>Observação: ".$obsevacao."</th><p></br>
<th>Data: '".date('Y-m-d\TH:i:s')."'</th><p></br>
</tr>
</body>
</html>";
$mail->AltBody = "Este é o corpo da mensagem de teste, somente Texto! \r\n :)";
# Define os anexos (opcional)
#$mail->AddAttachment("c:/temp/documento.pdf", "documento.pdf"); # Insere um anexo
# Envia o e-mail
$enviado = $mail->Send();
# Limpa os destinatários e os anexos
$mail->ClearAllRecipients();
$mail->ClearAttachments();
}
}
The only problem I have is that when I have more than one product with value in the checkbox nay only sends the first product to receive value and intended to send in the email all products that received value at checkbox nay
Just in advance, this email body is poorly formed, you are putting a text before HTML.
– Sam
@Sam, okay, can you help fix it? I understand my problem?
– Bruno
I think the
require
should stay before thefor
.– Sam
@Sam, you couldn’t see a solution?
– Bruno
Take a look at what I said You’re making require loop.
– Sam
@Sam, that was the problem.
– Bruno
@Sam is possible to chat?
– Bruno
At the moment I can’t.
– Sam