vdf Postado Janeiro 20, 2011 Denunciar Share Postado Janeiro 20, 2011 Estou com problemas para integrar meu carrinho de compras com o pagseguro.Acredito que o problema ocorre na seguinte parte;for ($i=0; $i<=4; $i++) {$sql = "SELECT * FROM album WHERE id= '$id'";$qr = mysql_query($sql) or die(mysql_error());$ln = mysql_fetch_assoc($qr);$nome = $ln['nome'];$preço = number_format($ln['preço'], 2, ',', '.');echo' <input type="hidden" name="item_id_'.$i.'" value='.$sql.'><input type="hidden" name="item_descr_'.$i.'" value='.$nome.'><input type="hidden" name="item_quant_'.$i.'" value='.$qtd.'><input type="hidden" name="item_valor_'.$i.'" value='.$preço.'><input type="hidden" name="item_frete_'.$i.'" value="0"><input type="hidden" name="item_peso_'.$i.'" value="0"> ';}o código completo está aqui http://pastebin.com/NWT8z5jkeu queria que ele passase os dados corretamente para o pag seguro, deveria ficar como o carrinho de compras do meu site;carrinho de compras do meu site: http://img708.images...emttulo2gb.jpg/carrinho do pagseguro: http://img502.images...emttulo4yh.jpg/ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 eudeoliveira Postado Janeiro 25, 2011 Denunciar Share Postado Janeiro 25, 2011 Usei dessa forma para o pag seguro e pagamento digital foi bem funcional$sql = "SELECT * FROM album WHERE id= '$id'"; $qr = mysql_query($sql) or die(mysql_error()); $i = 0; While($ln=mysql_fetch_arrray($qr)){ $nome = $ln['nome']; $preço = number_format($ln['preço'], 2, ',', '.'); $i++; echo' "<input type='hidden' name='item_id_$i' value='$sql'> <input type='hidden' name='item_descr_$i' value='$nome'> <input type='hidden' name='item_quant_$i' value='$qtd'> <input type='hidden' name='item_valor_$i' value='$preço'> <input type='hidden' name='item_frete_$i' value='0'> <input type='hidden' name='item_peso_$i' value='0'>"; }Qualquer coisa posta ai.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 vdf Postado Janeiro 28, 2011 Autor Denunciar Share Postado Janeiro 28, 2011 (editado) Está pegando somente o ultimo valor que foi adicionado ao carrinho, não está encrementando.minha parte em php está assim<?phpecho' <form target="pagseguro" method="post"action="https://pagseguro.uol.com.br/checkout/checkout.jhtml"><input type="hidden" name="email_cobranca" value="meuemail@hotmail.com"><input type="hidden" name="tipo" value="CP"><input type="hidden" name="moeda" value="BRL"> ';$sql = "SELECT * FROM album WHERE id= '$id'";$qr = mysql_query($sql) or die(mysql_error());$i = 0;While($ln=mysql_fetch_array($qr)){$nome = $ln['nome'];$preço = number_format($ln['preço'], 2, ',', '.');$i++;echo' <input type="hidden" name="item_id_'.$i.'" value='.$sql.'><input type="hidden" name="item_descr_'.$i.'" value='.$nome.'><input type="hidden" name="item_quant_'.$i.'" value='.$qtd.'><input type="hidden" name="item_valor_'.$i.'" value='.$preço.'><input type="hidden" name="item_frete_'.$i.'" value="0"><input type="hidden" name="item_peso_'.$i.'" value="0">' ;}echo' <input type="hidden" name="tipo_frete" value="EN"><input type="image" src="https://p.simg.uol.com.br/out/pagseguro/i/botoes/pagamentos/99x61-pagar-assina.gif"name="submit" alt="Pague com PagSeguro - é rápido, grátis e seguro!"></form> ';?> Editado Janeiro 28, 2011 por vdf Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 eudeoliveira Postado Janeiro 30, 2011 Denunciar Share Postado Janeiro 30, 2011 (editado) Boa noite a variavel $id esta passando qual parametro para o banco?Todos os registros do carrinho estao com esse mesmo id?ex:id_pedido = 100 - id_prod = 1 - quant = 1 - valor_prod = 20.00- nome_prod = Celular id_pedido = 100 - id_prod = 10 - quant = 1 - valor_prod = 25.00- nome_prod = Carteirana consulta SQL tem que ter esse parametro id_pedido igual pra todos os produtos que deseja incluir no loop, não sei se e o caso da sua variavel $id. Editado Janeiro 30, 2011 por eudeoliveira Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 vdf Postado Janeiro 30, 2011 Autor Denunciar Share Postado Janeiro 30, 2011 eu só tenho o id do produto, então vou refazer meu Banco de dados e colocar o id_pedido, Muito obrigado pela ajuda.Só mais uma pergunta, não tem como fazer isso sem usar o id_pedido?O carrinho do site faz; <?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]); } } } } } ?><?php if(count($_SESSION['carrinho']) == 0){ echo '<tr><td colspan=5">Não há produto no carrinho</td></tr>'; }else{ require("conectdb.php"); $total = 0; foreach($_SESSION['carrinho] as $id => $qtd){ $sql = "SELECT * FROM album WHERE id= '$id'"; $qr = mysql_query($sql) or die(mysql_error()); $ln = mysql_fetch_assoc($qr); $nome = $ln['nome']; $preço = number_format($ln['preço'], 2, ',', '.'); $sub = number_format($ln['preço'] * $qtd, 2, ',', '.'); $total += $ln['preço'] * $qtd; echo '<tr> <td>'.$nome.'</td> <td>'.$qtd.'</td> <td>R$ '.$preço.'</td> <td>R$ '.$sub.'</td> <td><a href="?acao=del&id='.$id.'">Remove</a></td> </tr>'; } $total = number_format($total, 2, ',', '.'); echo '<tr> <td colspan="4"><b>Total</b></td> <td><b>R$ '.$total.'</b></td> </tr>'; } ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 eudeoliveira Postado Janeiro 30, 2011 Denunciar Share Postado Janeiro 30, 2011 você pode usar a varia session_id(); e derepente gravar junto com seu array carrinho, porem acho mais facil você colocar no banco para consulta futuras, fica como um codigo de rastreador do que foi comprado pelo cliente naquele dia.ex:$id_pedido = session_id();então essa sua variavel $id_pedido vai ser a sessao ativa do browser daquele visitante não misturando as compras simultaneas. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 vdf Postado Fevereiro 3, 2011 Autor Denunciar Share Postado Fevereiro 3, 2011 Mas não é necessário a session_id();, não mistura as compras simultaneas, já testei na rede e no mesmo computador também. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 vdf Postado Fevereiro 3, 2011 Autor Denunciar Share Postado Fevereiro 3, 2011 Consegui fazer com que ele passe a quantidade certa de produtos pro carrinho do pag seguro, agora só falta fazer com que não se repita o id do ultimo produto adicionado;<?phpecho' <form target="pagseguro" method="post"action="https://pagseguro.uol.com.br/checkout/checkout.jhtml"><input type="hidden" name="email_cobranca" value="viniciusfasolin3@hotmail.com"><input type="hidden" name="tipo" value="CP"><input type="hidden" name="moeda" value="BRL"> ';$sql = "SELECT * FROM album WHERE id= '$id'";$qr = mysql_query($sql) or die(mysql_error());$ln = mysql_fetch_assoc($qr);$lim = count($_SESSION['carrinho']);for($i=0 ; $i<=$lim ; $i++){$nome = $ln['nome'];$preço = number_format($ln['preço'], 2, ',', '.');echo' <input type="hidden" name="item_id_'.$i.'" value='.$sql.'><input type="hidden" name="item_descr_'.$i.'" value='.$nome.'><input type="hidden" name="item_quant_'.$i.'" value='.$qtd.'><input type="hidden" name="item_valor_'.$i.'" value='.$preço.'><input type="hidden" name="item_frete_'.$i.'" value="0"><input type="hidden" name="item_peso_'.$i.'" value="0">' ;}echo' <input type="hidden" name="tipo_frete" value="EN"><input type="image" src="https://p.simg.uol.com.br/out/pagseguro/i/botoes/pagamentos/99x61-pagar-assina.gif"name="submit" alt="Pague com PagSeguro - é rápido, grátis e seguro!"></form> ';?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 vdf Postado Fevereiro 3, 2011 Autor Denunciar Share Postado Fevereiro 3, 2011 alguêm para ajudar? Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
vdf
Estou com problemas para integrar meu carrinho de compras com o pagseguro.
Acredito que o problema ocorre na seguinte parte;
for ($i=0; $i<=4; $i++) {
$sql = "SELECT * FROM album WHERE id= '$id'";
$qr = mysql_query($sql) or die(mysql_error());
$ln = mysql_fetch_assoc($qr);
$nome = $ln['nome'];
$preço = number_format($ln['preço'], 2, ',', '.');
echo' <input type="hidden" name="item_id_'.$i.'" value='.$sql.'>
<input type="hidden" name="item_descr_'.$i.'" value='.$nome.'>
<input type="hidden" name="item_quant_'.$i.'" value='.$qtd.'>
<input type="hidden" name="item_valor_'.$i.'" value='.$preço.'>
<input type="hidden" name="item_frete_'.$i.'" value="0">
<input type="hidden" name="item_peso_'.$i.'" value="0"> ';
}
o código completo está aqui http://pastebin.com/NWT8z5jk
eu queria que ele passase os dados corretamente para o pag seguro, deveria ficar como o carrinho de compras do meu site;
carrinho de compras do meu site: http://img708.images...emttulo2gb.jpg/
carrinho do pagseguro: http://img502.images...emttulo4yh.jpg/
Link para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.