1
I have the code below, I didn’t do it, I’m just putting together two files and small changes. I receive the email and it is sent to whoever makes the purchase, but only one product comes from the shopping cart. I wanted all the products from the cart to come.
<html><body>
<?php
// inicia sessão
session_start();
// ligação à base de dados
include('ligacao.php');
// verifica número de sessão
$sessao=session_id();
$id_cliente=$_SESSION['id_cliente'];
$sql_cliente= 'SELECT * FROM clientes WHERE id_cliente='.$id_cliente;
$consulta1=mysqli_query($ligacao, $sql_cliente);
while ($mostrar= mysqli_fetch_array($consulta1, MYSQLI_BOTH))
{
extract ($mostrar);
echo "<table width='800 px' border='1' align='center'>";
echo "<tr><td><strong>Passo 2 - Resumo compra</strong></td></tr>";
}
?>
<tr><td>
<table>
<tr><td>Primeiro Nome: <?php echo $primeiro_nome;?></td></tr>
<tr><td>Ultimo Nome: <?php echo $apelido;?></td></tr>
<tr><td>Rua/Lugar: <?php echo $endereco;?></td></tr>
<tr><td>Localidade: <?php echo $localidade;?></td></tr>
<tr><td>Codigo Postal: <?php echo $codigo_postal;?></td></tr>
<tr><td>Endereço de correio electronico: <?php echo $email;?></td></tr>
</table>
<?php
$sql_carrinho = 'SELECT * FROM compra_temporaria temp JOIN artigos prod ON temp.id_artigo=prod.id_artigo WHERE sessao ="'. $sessao .'" ORDER BY temp.id_artigo ASC';
$consulta2=mysqli_query($ligacao, $sql_carrinho)or die (mysql_error());
$resultado=mysqli_num_rows($consulta2);
if ($resultado > 0 )
{
$total=0;
echo "<table width='800 px' border='1' align='center'>";
echo "<th>Imagem Artigo </th><th>Detalhe Artigo</th><th>Quantidade</th><th>Preço Unitario</th><th>Total a pagar</th>";
While ($mostrar = mysqli_fetch_array($consulta2, MYSQLI_BOTH)){
extract ($mostrar);
echo "<tr><td align='center' width='100' height='100' valign='middle'>;
<img src='$pasta_imagens" .$imagem_artigo. "' ></a>";
echo "<td align='center'>".$descricao_artigo."</td></a>";
echo "<td align='center'>".$quantidade."</td>";
echo "<td align='center'>EURO" .$preco_artigo."</td>";
$sub_total= number_format($preco_artigo * $quantidade, 2);
echo "<td align='center'>EURO" .$sub_total."</td>";
$total =$total + $preco_artigo * $quantidade;
echo "<tr><td align='right' colspan='5'> O valor total a pagar é de: <strong>EURO ".number_format($total,2)."</strong></td></tr>";
}
}
$sql_regista_compra = "INSERT INTO compra_confirmada (data_compra, id_cliente, total_pagar) VALUES (NOW(),'".$id_cliente."', '".$total."')";
$consulta3 =mysqli_query($ligacao, $sql_regista_compra);
$id_compra = mysqli_insert_id($id_compra);
$sql_regista_detalhes_compra= ' INSERT INTO detalhes_compra (id_compra, quantidade_compra, id_artigo) SELECT ' .$id_compra.', quantidade, id_artigo FROM compra_temporaria WHERE sessao= "' .$sessao.'"';
$consulta4= mysqli_query($ligacao, $sql_regista_detalhes_compra);
$sql_elemina_temp = 'DELETE FROM compra_temporaria WHERE sessao= "'.$sessao.'"';
$consulta5 = mysqli_query($ligacao, $sql_elimina_temp);
echo "<td colspan='5'> A compra foi realizada com sucesso e ficou com o numero ".$id_compra;
echo "<p> Sera enviada uma cópia dos detalhes da compra para o seu email.</p>";
session_unset();
session_destroy();
echo "<tr><a href='index.php?pagina=1'> Clique para voltar á pagina inicial.</a></tr>";
?>
<?php
include("ligacao.php");
include("class.phpmailer.php");
include("class.smtp.php");
include('class.pop3.php');
require('PHPMailerAutoload.php');
{
$data = date('d/m/Y H:i');
$sql_carrinho ="SELECT * FROM clientes WHERE id_cliente='.$id_cliente";
if ($sql_carrinho == '')
{
echo 'erro ao selecionar';
}else{
while($res_seleciona = mysqli_fetch_array($sql_carrinho));
{
$porta = $res_seleciona ['587'];
$servidor = $res_seleciona ['smtp.sapo.pt'];
$usuario_conta = $res_seleciona ['[email protected]'];
$senhaemail = $res_seleciona ['*********'];
$emailSite = $res_seleciona ['[email protected]'];
$emailsiterecebe = $res_seleciona ['[email protected]'];
$telefone = $res_seleciona ['914630554'];
$meudominio = $res_seleciona [''];
$nomeEmpresa = utf8_decode($res_seleciona ['coelho']);
$pop = new POP3();
$pop->Authorise('pop.sapo.pt', 110, 30, '[email protected]', '*********', 1);
$mail=new PHPMailer();
$mail->Mailer = "smtp";
$mail->SetLanguage("br");
$mail->SMTPSecure = "tls";
$mail->SMTPDebug = 0;
$mail->Priority = 1;
$mail->IsSMTP(true);
$mail->SMTPAuth = true;
$mail->AuthType = '';
$mail->CharSet = "utf-8";
$mail->Port = "{587}";
$mail->Hostname = "{smtp.sapo.pt}";
$mail->Username = "[email protected]";
$mail->Password = "*********";
$mail->From = "[email protected]";
$mail->FromName = "hernani";
$mail->SetFrom("[email protected]", "{$nomeEmpresa}");
$mail->AddAddress("$email", "{$nomeEmpresa}");
$mail->Subject = utf8_decode("Solicitação pedido:");
$mail->IsHTML = (true);
//$mail->CharSet ='iso-8859-1';
//header('Content-Type: text/html; charset=iso-8859-1');
From here down is how I get the email, but only comes one product, I wanted to come all products.
$body="Pedido - {$nomeEmpresa}
{$data}
id_cliente -> {$id_cliente} Nome_Login ->{$nome_login}
Cod. -> {$id_artigo} - Quantidade -> {$quantidade} - {$descricao_artigo}
preço_artigo -> {$preco_artigo} * {$quantidade}
Sub_total: {$sub_total}
Valor Total: {$total};
Numero de compra: $id_compra
{$resultado}
{$primeiro_nome}
{$apelido}
{$endereco}
{$localidade}
{$codigo_postal}
{$email} -------------------------------------------------------------------
";
$address = "[email protected]";
$mail->AddAddress($address, "nome");
}
}
$mail->Body=$mail_body.$body;
if($mail->send())
{
echo "<script language='Javascript'>alert('parabens, seu pedido foi enviado com sucesso.')</script>";
}else{
echo 'Erro ao enviar o email '.$mail->ErrorInfo;
}
}
//session_unset();
//session_destroy();
?>
</tbody>
</form>
</table>
</body></html>