click01 0 Denunciar post Postado Julho 4, 2009 boas... gostava de saber como posso pegar nos valores do carrinho de compras e juntar-lhe um formulario com os dados do cliente para de seguinda enviar via email os conteudos do carrinho e form... Compartilhar este post Link para o post Compartilhar em outros sites
Red FeniX 4 Denunciar post Postado Julho 4, 2009 oO Você não entende muito de php ou está com preguiça de pensar? Muito simples: Roda uma query sql, depois joga num array e resgata os dados no form... Qual o mistério disso? oO falo Compartilhar este post Link para o post Compartilhar em outros sites
click01 0 Denunciar post Postado Julho 4, 2009 eu percebo mas apenas o basico... nao sou nenhum expert no assunto, quando mete comandos mais complicados ja me atrapalha um pouco... Compartilhar este post Link para o post Compartilhar em outros sites
Red FeniX 4 Denunciar post Postado Julho 4, 2009 Mas tu entendeu a lógica que eu passei ? Compartilhar este post Link para o post Compartilhar em outros sites
click01 0 Denunciar post Postado Julho 4, 2009 sim entendi... ate criei um codigo mas n esta a funcionar la mt bem... aparece la que o carrinho esta vazio... ve: <? session_start(); include('conexao.php'); ?> <html> <body> <form action='enviarcompras.php' method='post'> <? $itens = mysql_query('SELECT * FROM carrinho,produtos WHERE carrinho.cod = produtos.id AND carrinho.sessao = "'.$sessao.'"'); if(mysql_num_rows($itens) < 1){ // Se o carrinho estiver vazio só exibe uma mensagem e um link para a loja echo "<br><center> O Carrinho está Vazio!<br><br><a href='index.php'>Ir para a loja</a>"; } else { ?> <center> <img src='BannerCarrinho.png' border='0'><br> <table bgcolor='#99cc33' cellpadding='5' cellspacing='1' width='800'> <tr valign="middle"> <td bgcolor="#e3e3e3" width="40" align="left" valign="middle"> <font color='#99cc33' size='2'><b></b> </td> <td bgcolor="#e3e3e3" width="600" align="left" valign="middle"> <font color='#99cc33' size='2'><b>Lista de Produtos:</b> </td> <td bgcolor="#eeeeee" width="100"> <center> <font color='#99cc33' size='2'><b>Preço Uni.</b> </td> <td bgcolor="#e3e3e3" width="50"> <center> <font color='#99cc33' size='2'><b>Quant.</b> </td> <td bgcolor="#eeeeee" width="50"> <center> <font color='#99cc33' size='2'><b>Opções</b> </td> </tr> <? // Dou um loop pra listar is itens do carrinho de compras while($item = mysql_fetch_array($itens)){ ?> <tr valign="middle"> <td bgcolor="#e3e3e3" width="40" align="left" valign="middle"> <center><b><a href="detalhes.php?id=<? echo $item['cod'] ?>"><? echo '<img width=40 height=30 border=0 src="Imagens/'.$item['img'].'">' ?></a></b> </td> <td bgcolor="#e3e3e3" width="600" align="left" valign="middle"> <b><a href="detalhes.php?id=<? echo $item['cod'] ?>"><? echo $item['nome'] ?></a></b> </td> <td bgcolor="#eeeeee" width="100"> <center> <b>€</b> <? echo number_format($item['preco'], 2, ',', '') ?> </td> <td bgcolor="#e3e3e3" width="50"> <center> <input size='4' type='text' name='quantidade[<? echo $item["cod"] ?>]' value='<? echo $item["quant"] ?>'> </td> <td bgcolor="#eeeeee" width="50"> <center> <a href='remover.php?id=<? echo $item["cod"] ?>'><img src='BotRemover.png' border='0'></a> </td> </tr> <? $total += $item['preco'] * $item['quant']; }} ?> </form> </body> </html> falta ainda inserir os capos do form para nome, , morada, email etc... inda n sei bem como fazer... Compartilhar este post Link para o post Compartilhar em outros sites
Red FeniX 4 Denunciar post Postado Julho 4, 2009 Pelo que vi, a var $sessao não existe e você colocou-a na query SQL. Logo ele não vai achar nada. E usa JOINS, fica melhor http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif: $sessao = session_id(); $sql = "SELECT * FROM carrinhos INNER JOIN produtos ON carrinhos.cod=produtos.id WHERE carrinhos.sessao='$sessao'"; falo Compartilhar este post Link para o post Compartilhar em outros sites
click01 0 Denunciar post Postado Julho 4, 2009 ja acrescentei os forms para inserir os dados pessoais, mas inda n esta bom e n sei como isto ira enviar junto com os dados do form, os produtos comprados... :o <? session_start(); include('conexao.php'); ?> <html> <body> <form action='enviarcompras.php' method='post'> <? $itens = mysql_query('SELECT * FROM carrinho,produtos WHERE carrinho.cod = produtos.id AND carrinho.sessao = "'.$sessao.'"'); if(mysql_num_rows($itens) < 1){ // Se o carrinho estiver vazio só exibe uma mensagem e um link para a loja echo "<br><center> O Carrinho está Vazio!<br><br><a href='index.php'>Ir para a loja</a>"; } else { ?> <center> <img src='BannerCarrinho.png' border='0'><br> <table bgcolor='#99cc33' cellpadding='5' cellspacing='1' width='800'> <tr valign="middle"> <td bgcolor="#e3e3e3" width="40" align="left" valign="middle"> <font color='#99cc33' size='2'><b></b> </td> <td bgcolor="#e3e3e3" width="600" align="left" valign="middle"> <font color='#99cc33' size='2'><b>Lista de Produtos:</b> </td> <td bgcolor="#eeeeee" width="100"> <center> <font color='#99cc33' size='2'><b>Preço Uni.</b> </td> <td bgcolor="#e3e3e3" width="50"> <center> <font color='#99cc33' size='2'><b>Quant.</b> </td> <td bgcolor="#eeeeee" width="50"> <center> <font color='#99cc33' size='2'><b>Opções</b> </td> </tr> <? // Dou um loop pra listar is itens do carrinho de compras while($item = mysql_fetch_array($itens)){ ?> <tr valign="middle"> <td bgcolor="#e3e3e3" width="40" align="left" valign="middle"> <center><b><a href="detalhes.php?id=<? echo $item['cod'] ?>"><? echo '<img width=40 height=30 border=0 src="Imagens/'.$item['img'].'">' ?></a></b> </td> <td bgcolor="#e3e3e3" width="600" align="left" valign="middle"> <b><a href="detalhes.php?id=<? echo $item['cod'] ?>"><? echo $item['nome'] ?></a></b> </td> <td bgcolor="#eeeeee" width="100"> <center> <b>€</b> <? echo number_format($item['preco'], 2, ',', '') ?> </td> <td bgcolor="#e3e3e3" width="50"> <center> <input size='4' type='text' name='quantidade[<? echo $item["cod"] ?>]' value='<? echo $item["quant"] ?>'> </td> <td bgcolor="#eeeeee" width="50"> <center> <a href='remover.php?id=<? echo $item["cod"] ?>'><img src='BotRemover.png' border='0'></a> </td> </tr> <tr> <td> <br> <font face="Arial Narrow"> <input type="hidden" name="emaildest" value="endereço@servidor.com"></font> <font face="Arial Narrow"> <input type="hidden" name="redirecionar" value="index.php "> </font> <center> <table width="635" bgcolor="#000000" border="0" align="center" cellspacing="0" cellpadding="1" height="270"> <tr> <td width="633" height="268"> <div align="center"> <center> <table width="344" bgcolor="#C4C4AA" border="1" cellspacing="0" cellpadding="3" style="border-collapse: collapse" bordercolor="#111111" height="271"> <tr> <td width="93" height="22"><font face="Tahoma" size="2">Seu nome:</font></td> <td width="239" height="22"> <font face="Arial Narrow"> <input type="text" size="70" name="nome" value=""></font></td> </tr> <tr> <td width="93" height="22"><font face="Tahoma" size="2">Seu E-mail:</font></td> <td width="239" height="22"> <font face="Arial Narrow"> <input type="text" size="70" name="email" value=""></font></td> </tr> <tr> <td width="93" height="22"><font face="Tahoma" size="2">Assunto:</font></td> <td width="239" height="22"> <font face="Arial Narrow"> <input type="text" size="70" name="assunto" value="Compras Efectuadas Via Loja Online"></font></td> </tr> <tr> <td width="93" height="100"><font face="Tahoma" size="2">Mensagem:</font></td> <td width="239" height="100"> <font face="Arial Narrow"> </tr> <tr> <td colspan="2" align="center" width="331" height="71"> <font face="Arial Narrow"> <input type="submit" value=" Enviar " style="float: left; font-family: Tahoma"></font> <font face="Tahoma"><input type="reset" value=" Limpar " style="float: left"></font> <font face="Arial Narrow"> </font></td> </tr> </table> </center> </div> </td> </tr> </table> <? $total += $item['preco'] * $item['quant']; }} ?> </form> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
click01 0 Denunciar post Postado Julho 4, 2009 Pelo que vi, a var $sessao não existe e você colocou-a na query SQL. Logo ele não vai achar nada. E usa JOINS, fica melhor http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif: $sessao = session_id(); $sql = "SELECT * FROM carrinhos INNER JOIN produtos ON carrinhos.cod=produtos.id WHERE carrinhos.sessao='$sessao'"; falo deu erro... :( Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/rpublici/public_html/teste/Produtos/finalizar.php on line 14 Compartilhar este post Link para o post Compartilhar em outros sites
Red FeniX 4 Denunciar post Postado Julho 4, 2009 Tu mudou o nome das tabelas? Sim, olha a lógica: Dentro do loop, você coloca inputs do tipo hidden para armazenar os dados dos produtos. Depois, usa um foreach para pegar os dados e jogar no e-mail. Exemplo: echo "<input type='hidden' name='quant[]' value='{$array["quantidade"]}'"; foreach ($_POST["quant"] as $value) { // Resgata os dados aqui } É só uma lógica. Tem q aperfeiçoar ela a partir do que já te dissemos por aqui. Não podemos fazer por ti. Eu acho é que tu tem preguiça de pensar e fica esperando a gente fazer os códigos pra ti. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
click01 0 Denunciar post Postado Julho 4, 2009 Tu mudou o nome das tabelas? Sim, olha a lógica: Dentro do loop, você coloca inputs do tipo hidden para armazenar os dados dos produtos. Depois, usa um foreach para pegar os dados e jogar no e-mail. Exemplo: echo "<input type='hidden' name='quant[]' value='{$array["quantidade"]}'"; foreach ($_POST["quant"] as $value) { // Resgata os dados aqui } É só uma lógica. Tem q aperfeiçoar ela a partir do que já te dissemos por aqui. Não podemos fazer por ti. Eu acho é que tu tem preguiça de pensar e fica esperando a gente fazer os códigos pra ti. Abraços olha eu fiz aqui de outra forma... agora ja inseri alguns campos de dados pessoais e os links para email, da uma olhada: <? session_start(); include('conexao.php'); ?> <html> <body> <form action='enviarcompras.php' method='post'> <? $sessao = session_id(); $itens = mysql_query('SELECT carrinho.cod, carrinho.quant, produtos.nome, produtos.img, produtos.preco FROM carrinho,produtos WHERE carrinho.cod = produtos.id AND carrinho.sessao = "'.$sessao.'"'); if(mysql_num_rows($itens) < 1){ // Se o carrinho estiver vazio só exibe uma mensagem e um link para a loja echo "<br><center> O Carrinho está Vazio!<br><br><a href='index.php'>Ir para a loja</a>"; } else { ?> <center> <img src='BannerCarrinho.png' border='0'><br> <table bgcolor='#99cc33' cellpadding='5' cellspacing='1' width='800'> <tr valign="middle"> <td bgcolor="#e3e3e3" width="40" align="left" valign="middle"> <font color='#99cc33' size='2'><b></b> </td> <td bgcolor="#e3e3e3" width="600" align="left" valign="middle"> <font color='#99cc33' size='2'><b>Lista de Produtos:</b> </td> <td bgcolor="#eeeeee" width="100"> <center> <font color='#99cc33' size='2'><b>Preço Uni.</b> </td> <td bgcolor="#e3e3e3" width="50"> <center> <font color='#99cc33' size='2'><b>Quant.</b> </td> <td bgcolor="#eeeeee" width="50"> <center> <font color='#99cc33' size='2'><b>Opções</b> </td> </tr> <? // Dou um loop pra listar is itens do carrinho de compras while($item = mysql_fetch_array($itens)){ ?> <tr valign="middle"> <td bgcolor="#e3e3e3" width="40" align="left" valign="middle"> <center><b><a href="detalhes.php?id=<? echo $item['cod'] ?>"><? echo '<img width=40 height=30 border=0 src="Imagens/'.$item['img'].'">' ?></a></b> </td> <td bgcolor="#e3e3e3" width="600" align="left" valign="middle"> <b><a href="detalhes.php?id=<? echo $item['cod'] ?>"><? echo $item['nome'] ?></a></b> </td> <td bgcolor="#eeeeee" width="100"> <center> <b>€</b> <? echo number_format($item['preco'], 2, ',', '') ?> </td> <td bgcolor="#e3e3e3" width="50"> <center> <input size='4' type='text' name='quantidade[<? echo $item["cod"] ?>]' value='<? echo $item["quant"] ?>'> </td> <td bgcolor="#eeeeee" width="50"> <center> <a href='remover.php?id=<? echo $item["cod"] ?>'><img src='BotRemover.png' border='0'></a> </td> </tr> <? $total += $item['preco'] * $item['quant']; }} ?> </table> <table bgcolor='#99cc33' cellpadding='5' cellspacing='1' width='800'> <tr valign="middle"> <td> <center> <font size=4 color=white> <b><u>Dados para Facturação</u></b> <br> <br> <input type="hidden" name="emaildest" value="endereço@servidor.com"></font> <input type="hidden" name="redirecionar" value="index.php "> <font face="Tahoma" size="2"> Nome:<br><input type="text" size="70" name="nome" value=""> <br> <br> E-mail:<br><input type="text" size="70" name="email" value=""> <br> <br> Assunto:<br><input type="text" size="70" name="assunto" value="Compras Efectuadas Via Loja Online"> <br> <br> <input type="submit" value=" Enviar "> <input type="reset" value=" Limpar "> <br> <br> </td> </tr> </table> </form> </body> </html> esta tudo como deve ser, so que eu gostava que o form fosse enviado atravez desta mesma pagina em vez de ser na enviacompras.php, nao sei se é possivel... outra coisa é que embora os produtos do carrinho se encontrem dentro do form, será que sao enviados? Compartilhar este post Link para o post Compartilhar em outros sites
Red FeniX 4 Denunciar post Postado Julho 4, 2009 Só serão enviados se estiverem em inputs. Coloca um <? $PHP_SELF; ?> na action. Depois faz uma verificação pra ver se o botão "enviar" foi pressionado. Se sim, rode o código pra enviar o email. Se não, exiba o form da ficha. Falo Compartilhar este post Link para o post Compartilhar em outros sites
click01 0 Denunciar post Postado Julho 4, 2009 nao estou a conseguir... :( n envia nada... Compartilhar este post Link para o post Compartilhar em outros sites
click01 0 Denunciar post Postado Julho 4, 2009 ja envia qualquer coisinha, mas a parte dos produtos inda nao envia... alem disso mal s entra na pagina finalizar.php aquilo envia logo um mail sem nada sozinho <? session_start(); include('conexao.php'); ?> <html> <body> <form action='finalizar.php' method='post'> <? $sessao = session_id(); $itens = mysql_query('SELECT carrinho.cod, carrinho.quant, produtos.nome, produtos.img, produtos.preco FROM carrinho,produtos WHERE carrinho.cod = produtos.id AND carrinho.sessao = "'.$sessao.'"'); if(mysql_num_rows($itens) < 1){ // Se o carrinho estiver vazio só exibe uma mensagem e um link para a loja echo "<br><center> O Carrinho está Vazio!<br><br><a href='index.php'>Ir para a loja</a>"; } else { ?> <center> <img src='BannerCarrinho.png' border='0'><br> <table bgcolor='#99cc33' cellpadding='5' cellspacing='1' width='800'> <tr valign="middle"> <td bgcolor="#e3e3e3" width="40" align="left" valign="middle"> <font color='#99cc33' size='2'><b></b> </td> <td bgcolor="#e3e3e3" width="600" align="left" valign="middle"> <font color='#99cc33' size='2'><b>Lista de Produtos:</b> </td> <td bgcolor="#eeeeee" width="100"> <center> <font color='#99cc33' size='2'><b>Preço Uni.</b> </td> <td bgcolor="#e3e3e3" width="50"> <center> <font color='#99cc33' size='2'><b>Quant.</b> </td> <td bgcolor="#eeeeee" width="50"> <center> <font color='#99cc33' size='2'><b>Opções</b> </td> </tr> <? // Dou um loop pra listar is itens do carrinho de compras while($item = mysql_fetch_array($itens)){ ?> <tr valign="middle"> <td bgcolor="#e3e3e3" width="40" align="left" valign="middle"> <center><b><a href="detalhes.php?id=<? echo $item['cod'] ?>"><? echo '<img width=40 height=30 border=0 src="Imagens/'.$item['img'].'">' ?></a></b> </td> <td bgcolor="#e3e3e3" width="600" align="left" valign="middle"> <b><a href="detalhes.php?id=<? echo $item['cod'] ?>"><? echo $item['nome'] ?></a></b> </td> <td bgcolor="#eeeeee" width="100"> <center> <b>€</b> <? echo number_format($item['preco'], 2, ',', '') ?> </td> <td bgcolor="#e3e3e3" width="50"> <center> <input size='4' type='text' name='quantidade[<? echo $item["cod"] ?>]' value='<? echo $item["quant"] ?>'> </td> <td bgcolor="#eeeeee" width="50"> <center> <a href='remover.php?id=<? echo $item["cod"] ?>'><img src='BotRemover.png' border='0'></a> </td> </tr> <? $total += $item['preco'] * $item['quant']; }} ?> </table> <table bgcolor='#99cc33' cellpadding='5' cellspacing='1' width='800'> <tr valign="middle"> <td> <center> <font size=4 color=white> <b><u>Dados para Facturação</u></b> </font> <br> <br> <input type="hidden" name="emaildest" value="click01@rpublicidade.com"> <input type="hidden" name="redirecionar" value="index.php "> <font face="Tahoma" size="2"> Nome:<br><input type="text" size="70" name="nome" value=""> <br> <br> E-mail:<br><input type="text" size="70" name="email" value=""> <br> <br> Assunto:<br><input type="text" size="70" name="assunto" value="Compras Efectuadas Via Loja Online"> <br> <br> <input type="submit" value=" Enviar "> <input type="reset" value=" Limpar "> <br> <br> </td> </tr> </table> <? //pega as variaveis por POST $nome = $_POST["nome"]; $email = $_POST["email"]; $assunto = $_POST["assunto"]; $encomenda = $_POST["encomenda"]; global $email; //função para validar a variável $email no script todo $data = date("d/m/y"); //função para pegar a data de envio do e-mail $ip = $_SERVER['REMOTE_ADDR']; //função para pegar o ip do usuário $navegador = $_SERVER['HTTP_USER_AGENT']; //função para pegar o navegador do visitante $hora = date("H:i"); //para pegar a hora com a função date //aqui envia o e-mail para você mail ("click01@rpublicidade.com", //email aonde o php vai enviar os dados do form "$assunto", "Nome: $nome\nData: $data\nIp: $ip\nNavegador: $navegador\nHora: $hora\nE-mail: $email\nEncomenda: $encomenda", "From: $email" ); //aqui são as configurações para enviar o e-mail para o visitante $site = "..."; //o e-mail que aparecerá na caixa postal do visitante $titulo = "Obrigado pela preferência!"; //titulo da mensagem enviada para o visitante $msg = "$nome, a sua encomenda foi enviada para a administração, consulte o seu e-mail."; //aqui envia o e-mail de auto-resposta para o visitante mail("$email", "$titulo", "$encomenda", "From: $site" ); ?> </form> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
Red FeniX 4 Denunciar post Postado Julho 4, 2009 Tô vendo que teu problema é o básico HTML. Como é que tu quer enviar os produtos por um form se tu não bota eles em inputs? Cria inputs do tipo hidden pra gravar os dados dos produtos e depois usar foreach ou for para resgatar eles. Dá uma lida em comandos básicos HTML e ler um pouco sobre arrays, foreach e for no manual do PHP. Depois eu vejo se consigo editar essa bagunça que tá o teu script. Falo Compartilhar este post Link para o post Compartilhar em outros sites
click01 0 Denunciar post Postado Julho 4, 2009 o meu problema n é o criar os inputs, mas é que aquilo tem q ser input para tds os produtos com $nome etc... ne? isso é q é lixado, se fosse so um determinado produto era facil, so que nesse field, ele tem q receber tds os produtos com $nome etc... Compartilhar este post Link para o post Compartilhar em outros sites