Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

click01

Ficha de Fecho de Compras

Recommended Posts

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

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

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

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

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

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

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

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

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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.