Jump to content
psan7os

Passar lista de email depois de efectuar a compra

Recommended Posts

psan7os

Bom dia pessoal, mais uma vez solicito a vossa ajuda, tenho um carrinho de compras com um botão finalizar, e ao finalizar quero enviar a lista de produtos, mas como é usado um foreach só é passado o valor do ultimo produto adicionado, que soluções me apresentam?

carrinho.php

    //session_start();

    if(!isset($_SESSION['carrinho'])){
        $_SESSION['carrinho'] = array();
    }

    //adiciona produto

    if(isset($_GET['acao'])){

        //ADICIONAR CARRINHO
        if($_GET['acao'] == 'add'){
        $id = intval($_GET['id']);
        if(!isset($_SESSION['carrinho'][$id])){
            $_SESSION['carrinho'][$id] = 1;
        }else{
            $_SESSION['carrinho'][$id] += 1;
        }
        }

        //REMOVER CARRINHO
        if($_GET['acao'] == 'del'){
        $id = intval($_GET['id']);
        if(isset($_SESSION['carrinho'][$id])){
            unset($_SESSION['carrinho'][$id]);
        }
        }

        //ALTERAR QUANTIDADE
        if($_GET['acao'] == 'up'){
        if(is_array($_POST['prod'])){
            foreach($_POST['prod'] as $id => $qtd){
                $id = intval($id);
                $qtd = intval($qtd);
                if(!empty($qtd) || $qtd <> 0){
                    $_SESSION['carrinho'][$id] = $qtd;
                }else{
                    unset($_SESSION['carrinho'][$id]);
                }
            }
        }
        }

    }
if(count($_SESSION['carrinho']) == 0){
echo '<tr><td colspan="5">Não há nenhum produto no carrinho.</td></tr>';
$disabled = 'disabled="disabled"';
}else{
                    require("conexao.php");
    $disabled = "";
                    $total = 0;
                    foreach($_SESSION['carrinho'] as $id => $qtd){
                            $sql = "SELECT * FROM produtos WHERE id= '$id'";
                            $qr = mysql_query($sql) or die(mysql_error());
                            $ln = mysql_fetch_assoc($qr);


                            // ESCREVE NA TABELA
        $nome = $ln['nome'];
                            $preco = $ln['preco'];
                            $sub = number_format($ln['preco'] * $qtd, 2, ',','.');

                            $total += $ln['preco'] * $qtd;
                            $array = $_SESSION['carrinho'] ;
        $_SESSION['array'] = $array;

                        echo '<tr>    
                                <td>'.$nome.'</td>
                                <td align="center"><input type="text" align="center" size="2" name="prod['.$id.']" value="'.$qtd.'" /></td>
                                <td align="center">'.$preco.' €</td>
                                <td align="center"> '.$sub.' €</td>
                                <td bordercolor="#333333" style="border-top-right-radius:10px;"><a href="?acao=del&id='.$id.'"><input type="BUTTON" VALUE="X"></a></INPUT></td>

                            </tr>
        <tr><td style="border-top-RIGHT-radius:10px;" bgcolor="#FFFFFF" colspan="5"></td></tr>';
                    }
                        $total = number_format($total, 2, ',', '.');
                        echo '<tr>
                                <td colspan="3" align="right">Total</td>
                                <td colspan="2" align="center">'.$total.' €</td>
                            </tr>';
                    }

    ?>

    </tbody>

    <tfoot>
        <tr>
        <td colspan="5" align="center" style="border-bottom-left-radius:10px; border-bottom-right-radius:10px;">
        <input type="submit" value="Atualizar Carrinho" <?php echo $disabled?> />
        <a href="../php/home.php"><input type="button" value="Continuar a Comprar" /></a>
        <a href="finalizar.php"><input type="button" value="Finalizar Compra" <?php echo $disabled?>/></a>
        </td>
</tfoot>
    </form></table>

E o finalizar.php

<?php
session_start();
if (isset($_SESSION['logado']))
{
}
else
{
echo ("<SCRIPT LANGUAGE='Javascript'>
window.alert('Precisa de fazer o login para ter acesso a esta página.')
window.location.href='../home.php';
</SCRIPT>");
}
mysql_connect("host","user","pass");
mysql_select_db("db");

$username = $_SESSION["username"];
$password = $_SESSION["password"];
$con = mysql_connect("host","user","pass");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("bd", $con);
$resultado = mysql_query("select * from registo where username='" .$username ."'");
$num_afect=mysql_affected_rows();
mysql_close($con);

while ($registo = mysql_fetch_array ($resultado)){
$username=$registo["username"];
$password=$registo["password"];
$email=$registo["email"];
$nome=$registo["nome"];
$morada=$registo["morada"];
$newsletter=$registo["newsletter"];
$tlm=$registo["tlm"];
$array = $_SESSION['array'];    
}
$recebenome = $nome;
$recebemail = $mail;
// $recebemsg = $_POST['mensagem'];
$assunto = "Encomenda de Produtos";
$headers = "Content-type:text/html; charset=iso-8859-1";

$para = "mail";

$mensagem = "<h3>De: </h3> ";
$mensagem .= $recebenome ." | " . $recebemail;
$mensagem .= "<h3> Assunto: </h3>";
$mensagem .= $assunto;
$mensagem .= "<h3> Dados do Cliente: </h3>";
$mensagem .= "Nome: ". $nome . "<br>";
$mensagem .= "Morada: " . $morada . "<br>";
$mensagem .= "Contacto: " . $tlm . "<br>";
$mensagem .= "Newsletter: " . $newsletter . "<br>";
$mensagem .= "<h3> Dados do Conta: </h3>";
$mensagem .= "Utilizador: " . $username . "<br>";
$mensagem .= "Email: " . $email . "<br>";
$mensagem .= "<h3> Dados de Encomenda: </h3>";
$mensagem .= "<p>";
$mensagem .= $recebemsg;
$mensagem .= "</p>";


//envia mail para mim
$envia = mail($para,$assunto,$mensagem,$headers);

?>

Mais uma vez obrigado

Edited by Rui Carlos

Share this post


Link to post
Share on other sites
psan7os

sim, eu tirei, mas como é que eu o ponho na mensagem para enviar por email? o foreach que usaria é o que está no do carrinho.

Share this post


Link to post
Share on other sites
psan7os

não é essa a dificuldade a variável que recebe a mensagem é que vai receber o foreach?

será isto?

$mensagem = "foreach($_SESSION[carrinho] as $id => $qtd){
                             $sql   = 'SELECT * FROM produtos WHERE id= '$id'';
                             $qr    = mysql_query($sql) or die(mysql_error());
                             $ln    = mysql_fetch_assoc($qr);


                             // ESCREVE NA TABELA
        $nome  = $ln[nome];
                             $preco = $ln[preco];
                             $sub   = number_format($ln[preco] * $qtd, 2, ',','.');

                             $total += $ln[preco] * $qtd;

                          echo '<tr>     
                                <td>'.$nome.'</td><br>
                                <td>Quantidade: '.$qtd.'</td><br><br>



                             </tr>
        <tr><td ></td></tr>';
                       }
                          $total = number_format($total, 2, ',', '.');
                          echo '<tr>
                                   <td>Total</td>
                                   <td>'.$total.' €</td>
                             </tr><br>'; ";

Edited by Rui Carlos

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.