Estou com uma dúvida com um formulário em PHP, já tentei de várias formas e ainda não consegui resolver, por isso peço ajuda a voces aqui do fórum para consegui resolver o problema.
Fiz um formulário para um carrinho de compras, tudo está funcionando bem, consigo alterar a quantidade, consigo excluir ítens, a única coisa que não estou conseguindo é incluir o valor do frete manualmente, quando digito o valor até aparece a soma certinha, mas a página recarrega novamente e o valor do frete desaparece e a soma fica sem esse valor, quando vou no phpmyadmin vejo que o valor do frete está lá. Onde será que estou errando, alguém pode dar uma ajudinha?
$sql="insert into pedido (id_cliente, data_pedido, id_status) values('".$_SESSION[cliente][iD]."','$data','1')";
}else
{
$sql="insert into pedido (data_pedido, id_status) values('$data','1')";
}
//mysql_query($sql) or die ("não foi possível inserir dados");
$grava=mysql_query($sql,$db);
if($grava===false){
echo mysql_error();
}
else{
// buscar o último registro da sessão do cliente no servidor
$strSQL="select * from pedido where id_pedido=last_insert_id()";// pegar o valor da chave primária da tabela pedidos só que pegando o valor do último registro da sessão do cliente
$consultaUltimoRegistro=mysql_query($strSQL,$db);
if($consultaUltimoRegistro===false){
header("location:../../index.php?".$url."&txtMSG=Erro ao adicionar o produto no carrinho. (Achar último registro da sessão)");
<td class="linha"><strong>Siga os seguintes passos para compra</strong><br />
<br />
<span class="style7"><img src="imagens/setinha.jpg" width="10" height="10" />No campo "quantidade " escolha a quantidade de produtos que desejar depois clique em atualizar.</span><br />
<br />
<span class="style7"><img src="imagens/setinha.jpg" width="10" height="10" />Para excluir um produto de seu carrinho, digite "0" na quantidade e depois clique em atualizar</span>.</td>
Pergunta
Ed_MacGyver
Olá pessoal,
Estou com uma dúvida com um formulário em PHP, já tentei de várias formas e ainda não consegui resolver, por isso peço ajuda a voces aqui do fórum para consegui resolver o problema.
Fiz um formulário para um carrinho de compras, tudo está funcionando bem, consigo alterar a quantidade, consigo excluir ítens, a única coisa que não estou conseguindo é incluir o valor do frete manualmente, quando digito o valor até aparece a soma certinha, mas a página recarrega novamente e o valor do frete desaparece e a soma fica sem esse valor, quando vou no phpmyadmin vejo que o valor do frete está lá. Onde será que estou errando, alguém pode dar uma ajudinha?
O código está logo abaixo:
<?php
include "admin/conexao.php";
session_start();
$funcao = $_POST["funcao"];
$acao = $_POST["acao"];
$id_produto = $_POST["id_produto"];
$produto = $_POST["txt_produto"];
$preço = $_POST["txt_preco"];
$txt_qtde = $_POST["txt_qtde"];
$txt_frete = $_POST["txt_frete"];
//Gerar novo pedido
if($_SESSION["id_pedido"]==" || $_SESSION["id_pedido]==0){
// inserindo o usuário em compra na tabela pedido
$data = date("Ymd");
if ($_SESSION[cliente][iD]!=")
{
$sql="insert into pedido (id_cliente, data_pedido, id_status) values('".$_SESSION[cliente][iD]."','$data','1')";
}else
{
$sql="insert into pedido (data_pedido, id_status) values('$data','1')";
}
//mysql_query($sql) or die ("não foi possível inserir dados");
$grava=mysql_query($sql,$db);
if($grava===false){
echo mysql_error();
}
else{
// buscar o último registro da sessão do cliente no servidor
$strSQL="select * from pedido where id_pedido=last_insert_id()";// pegar o valor da chave primária da tabela pedidos só que pegando o valor do último registro da sessão do cliente
$consultaUltimoRegistro=mysql_query($strSQL,$db);
if($consultaUltimoRegistro===false){
header("location:../../index.php?".$url."&txtMSG=Erro ao adicionar o produto no carrinho. (Achar último registro da sessão)");
}
elseif(mysql_num_rows($consultaUltimoRegistro)==0){
header("location:../../index.php?".$url."&txtMSG=Erro ao adicionar o produto no carrinho. (Achar último registro da sessão)");
}
else{
$linhaUltimoRegistro=mysql_fetch_array($consultaUltimoRegistro);
$_SESSION["id_pedido] = $linhaUltimoRegistro["id_pedido"];
}
}
}
if ($funcao == "ALTERAR"){
$v_atualiza = $_POST[codprod];
//Pega a chave do Array
$chave = array_keys($v_atualiza);
$totalprodutos =0;
for($i=0; $i<sizeof($chave); $i++) {
$indice = $chave[$i];
$txt_qtde = $v_atualiza[$indice][QTDE];
$id_produto = $v_atualiza[$indice][iDPRODUTO];
if ($v_atualiza[$indice][QTDE]>0){
$sql= "UPDATE carrinho SET qtde = '$txt_qtde', frete = '$txt_frete' WHERE id_produto=$id_produto' and id_pedido='".$_SESSION["id_pedido]."'";}
else{
$sql="DELETE FROM carrinho WHERE id_produto='$id_produto' and id_pedido='".$_SESSION["id_pedido"]."'";}
mysql_query($sql) or die ("não foi possível inserir dados");
}
echo "<META HTTP-EQUIV=REFRESH CONTENT= '0;URL=index.php?link=7'>";
}
// Inserir o produto no carrinho
if ($funcao == "INSERIR"){
//Verifica se já existe este produto cadastrado
$sql_cons = mysql_query("SELECT * FROM carrinho WHERE id_produto=$id_produto' and id_pedido='".$_SESSION["id_pedido]."'");
$cont = mysql_num_rows($sql_cons);
if ($cont > 0 ){ //se já existe ele vai alterar a quantidade apenas
$sql= "UPDATE carrinho SET qtde = qtde +1 WHERE id_produto='$id_produto' and id_pedido='".$_SESSION["id_pedido"]."'";
//echo $sql;
} else {
$sql= "INSERT INTO carrinho (id_pedido, id_produto, valor, qtde) VALUES ('".$_SESSION["id_pedido"]."', '$id_produto', '$preço','$txt_qtde')"; }
mysql_query($sql) or die ("não foi possível inserir dados");
echo "<META HTTP-EQUIV=REFRESH CONTENT= '0;URL=index.php?link=7'>";
}
if ($acao == "ALTERAR_FRETE"){
$sql= "UPDATE carrinho SET frete = '$txt_frete' WHERE id_pedido=".$_SESSION["id_pedido]."'";
}
$sql_quant = mysql_query("select sum(qtde) as qtde from carrinho where id_pedido='".$_SESSION["id_pedido"]."'");
$coluna = mysql_fetch_array($sql_quant);
$totalprodutos = $coluna[qtde];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<script language="javascript">
function enviar(opcao){
if (opcao=='A'){
document.frmcarrinho.opc_atualizar.value=1;
document.frmcarrinho.submit();
}
if (opcao =='E') {
document.frmcarrinho.opc_excluir.value = 1;
document.frmcarrinho.submit();
}
}
</script>
<style type="text/css">
<!--
.style1 {font-size: 9px}
.style4 {font-size: 12px}
.style5 {
color: #FF0000;
font-size: 16px;
font-style: italic;
font-weight: bold;
}
.style7 {font-size: 12px; font-family: Arial; }
.style10 {
font-size: 12px;
font-family: Arial;
font-weight: bold;
}
.style13 {font-size: 14px; font-family: Arial; }
.style15 {font-size: 14px; font-family: Arial; font-weight: bold; }
.style16 {font-size: 14px}
-->
</style>
</head>
<body>
<table width="570" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<p align="center">
<div align="center"><img src="imagens/linha.jpg" width="100%" height="7" /><br />
<?php
if ($_SESSION["id_pedido]!="" && $_SESSION["id_pedido"]!=0 ){
$sql_cons = mysql_query("SELECT * FROM carrinho WHERE id_pedido =".$_SESSION["id_pedido]."'");
$cont = mysql_num_rows($sql_cons);
if ($cont <= 0 )
{ ?>
<br />
<strong>Não há nenhum produto em seu carrinho de compra</strong>s.
<?php } else { ?>
<strong><img src="imagens/carrinho_compras.jpg" width="574" height="34" align="top" /></strong><br />
</div>
<table width="100%">
<tr>
<td class="linha"><strong>Siga os seguintes passos para compra</strong><br />
<br />
<span class="style7"><img src="imagens/setinha.jpg" width="10" height="10" />No campo "quantidade " escolha a quantidade de produtos que desejar depois clique em atualizar.</span><br />
<br />
<span class="style7"><img src="imagens/setinha.jpg" width="10" height="10" />Para excluir um produto de seu carrinho, digite "0" na quantidade e depois clique em atualizar</span>.</td>
</tr>
</table>
<form id="frmcarrinho" name="frmcarrinho" method="post" action="index.php?link=7">
<div align="center">
<strong>Produtos do seu carrinho </strong></div>
<table width="99%" border="0" cellpadding="0" cellspacing="0" class="fundo">
<tr>
<td colspan="2" bgcolor="#EAEAEA" class="texto"><div align="left"><span class="style1"><strong> <span class="style13">quantidade</span></strong></span></div>
<div align="right"></div></td>
<td width="43%" bgcolor="#EAEAEA" class="texto"><span class="style1"><strong> <span class="style13">produto</span></strong></span></td>
<td width="17%" bgcolor="#EAEAEA" class="texto"><span class="style15"> valor</span></td>
<td width="17%" bgcolor="#EAEAEA" class="texto"><span class="style10"> <span class="style16">subtotal</span></span></td>
</tr>
<?php
$sql = mysql_query("select p.*, c.* from produto p, carrinho c where p.id_produto = c.id_produto and c.id_pedido ='".$_SESSION["id_pedido"]."'");
$total_sem_frete= 0;
$i=0;
while ($coluna = mysql_fetch_array($sql)) {
$i++;
$subtotal = $coluna[preço]* $coluna[qtde] ;
$total_sem_frete = $total_sem_frete + $subtotal;
$codprod[$i] = $coluna[id_produto];
?>
<tr>
<td colspan=2"><input name="codprod[<?php echo $i; ?>][QTDE]" type="text" value="<?php echo $coluna[qtde] ?>" size="3" />
<span class="style1">
<input type="hidden" name="codprod[<?php echo $i; ?>][iDPRODUTO]" value="<?php echo $coluna[id_produto]; ?>"/>
<input type="hidden" name="funcao" value="ALTERAR"/>
</span> <label></label></td>
<td><span class="style10"><?php echo $coluna[produto]; ?></span></td>
<td><span class="style10">R$
<?php echo $coluna[preço];; ?>
</span></td>
<td><span class="style10">
R$
<?php echo $subtotal ;?></span></td>
</tr>
<?php } ?>
<tr>
<td colspan="5"><label></label> <label><img src="imagens/linha.jpg" width="100%" height="5" /></label></td>
</tr>
<tr>
<td width="10%"> </td>
<td colspan="2"> </td>
<td><span class="style4">Total dos produtos </span></td>
<td class="style5">R$
<?php echo $total_sem_frete; ?></td>
</tr>
<?php
$sql = "SELECT frete FROM carrinho WHERE id_pedido='".$_SESSION["id_pedido]."'";
$linha = mysql_query($sql);
$coluna = $linha[frete];
?>
<tr>
<td width=10%"> </td>
<td colspan="2"> </td>
<td><span class="style4">Frete:</span></td>
<td class="style5">R$
<input name="txt_frete" type="text" id="txt_frete" value="<?php echo $txt_frete; ?>" size="3" />
<input name="envia_frete" type="hidden" id="envia_frete" value="<?php echo $txt_frete; ?>" />
<input name="acao" type="hidden" id="acao" value="ALTERAR_FRETE" /></td>
</tr>
<?php
$total_a_pagar = $total_sem_frete+$txt_frete;
?>
<tr>
<td width="10%"> </td>
<td colspan="2"><input name="submit" type="submit" class="input" style="cursor:pointer;" value="ATUALIZAR"/></td>
<td><span class="style4">Total a pagar:</span> </td>
<td class="style5">R$ <?php echo $total_a_pagar; ?></td>
</tr>
<tr>
<td colspan="5"><img src="imagens/linha.jpg" width="100%" height="5" /></td>
</tr>
</table>
</form>
<p align="center">
<b>clique na figura abaixo para simular o valor do frete:</b> </p>
<p align="center">
<a href="http://www.tray.com.br/s/?d=SE|1|1|1||0&apelido=&peso=1000&preço=preço" target="_blank">
<img src="http://www.tray.com.br/adm/imagens/simular_frete_ml.jpg" width="500" border="0"> </a> </p>
<br />
<table width="585" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"> </td>
</tr>
<tr>
<td><a href="index.php?link=1"><img src="imagens/continuar_comprando.jpg" width="250" border="0"/></a></td>
<td> </td>
<td><div align="right"><a href="index.php?link=10"><img src="imagens/finalizar_compra.jpg" width="250" border="0"/></a></div></td>
</tr>
<tr>
<td colspan="3"> </td>
</tr>
</table>
<p align="left"></p>
<p align="center"></p></td>
</tr> <?php }}?>
</table>
</body>
</html>
<?php
$sql_quant = mysql_query("select sum(valor * qtde) as valor from carrinho where id_pedido='".$_SESSION["id_pedido]."'");
$coluna = mysql_fetch_array($sql_quant);
$_SESSION[ValorTotal]= $coluna[valor];
$sql_quant = mysql_query("select sum(qtde) as qtde from carrinho where id_pedido=".$_SESSION["id_pedido]."'");
$coluna = mysql_fetch_array($sql_quant);
$_SESSION[TotalProdutos] = $coluna[qtde];
//atualiza o total na tabela de pedidos
$atualiza_pedido=mysql_query("UPDATE pedido SET total_pedido = '".$_SESSION["ValorTotal"]."' where id_pedido=".$_SESSION["id_pedido]."'");
?>
Editado por Ed_MacGyverLink para o comentário
Compartilhar em outros sites
0 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.