send products from shopping cart by email

Asked

Viewed 198 times

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&ccedil;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&ccedil;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 &eacute; 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&oacute;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 &aacute; 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>
No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.