Ir para conteúdo

POWERED BY:

Arquivado

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

dcoder

Itens são adicionados duas vezes no carrinho de compras

Recommended Posts

Boa tarde amigos,

 

Estou desenvolvendo um script para pedidos online e está acontecendo o seguinte. (somente no Firefox)

 

Ao adicionar um item no carrinho de compras o mesmo é adicionado duas vezes, em navegadores como IE e Google chrome isso nao ocorre, somente no firefox...

 

Este é o código do carrinho de compras, que exibe is itens adicionados.

 


<table border=0 width=100%>
<tr width=100%><td width=100% valign=top><h2>Carrinho de Compras</h2></td></tr>
<tr><td align=right><a href="#" onclick="window.location='./listaprod.asp?'+unescape('<%=Request.QueryString("url_comp")%>')">Voltar para a Loja</a></td></tr>
<%
Dim acao,data_ped,prod_id,prod_quant,car_prod_id,car_prod_quant,temp,arrTemp,iten_id,loop1,car_iten_id,car_iten_quant,car_iten_prod,car_total,car_subtotal
acao = Request.querystring("acao")
prod_id = Request.querystring("prod_id")
prod_quant = Request.querystring("prod_quant")
car_iten_id = Request.querystring("car_iten_id")

'Verifica se a quantidade e 0 e troca por 1
If IsEmpty(prod_quant) OR prod_quant=0 Then prod_quant = 1 End If

Select Case acao
Case "incluir"   
Dim car_prod_inc,prod_nome,prod_preco
temp = ""
set car_prod_inc = lojaDB.Execute("SELECT * FROM produtos WHERE id="& prod_id &" AND disp='S'")
prod_nome = car_prod_inc("nome")
prod_preco = car_prod_inc("preco")           
If IsEmpty(Session("iten_id")) Then 
	Session("iten_id") = 1
	Else
	Session("iten_id") = Session("iten_id") + 1
End If                                             
iten_id = Session("iten_id")
temp = iten_id & "&" & prod_id & "&" & prod_quant
       If Not (IsEmpty(Session("car_prod_id"))) Then
        For loop1 = LBound(session("car_prod_id")) to UBound(session("car_prod_id")) 
       		temp = temp & "/" & session("car_prod_id")(loop1)
       	Next
       End If
arrTemp = Split(temp,"/")
Session("car_prod_id") = arrTemp
%>              
<tr width=100%><td width=100%><h3>Produto Incluído</h3></td></tr>
<tr width=100%><td width=100%>
	<table border=1 width=100%>
	<tr width=100%>
		<th>Id</th><th>Produto</th><th>Valor/Unid</th><th>Quant.</th><th>SubTotal</th><th>Pedido</th>
	</tr><tr width=100% valign=top align=center>
		<td><%=iten_id%><td align=left><%=prod_nome%></td><td>R$<%=prod_preco%></td><td><%=prod_quant%></td><td>R$<%=prod_preco*prod_quant%></td><td><a href="./carrocompras.asp?acao=excluir&car_iten_id=<%=iten_id%>&url_comp=<%=Server.UrlEncode(Request.QueryString("url_comp"))%>">Cancelar Item</a></td>
	</tr></table>	

<%
Case "excluir"   
'Exclui o Id do produto no carrinho                                          
temp = ""
If Not (IsEmpty(Session("car_prod_id"))) Then 
        For loop1 = LBound(session("car_prod_id")) to UBound(session("car_prod_id")) 
       		arrTemp = Split(Session("car_prod_id")(loop1),"&")
		iten_id = arrTemp(0)       
		car_iten_prod = arrTemp(1)
		car_iten_quant = arrTemp(2)
		If Not (iten_id = car_iten_id) Then		
       	                If temp = "" Then 
                       		temp = session("car_prod_id")(loop1)
                       	Else
                        	temp = temp & "/" & session("car_prod_id")(loop1)
                        End If
       		End If
  	Next
	If temp = "" Then
		Session.Abandon
		%>
		<script>location.reload()</script>
		<%
	Else
		arrTemp = Split(temp,"/")
		Session("car_prod_id") = arrTemp
	End IF
End If

Case "zerar"  
Session.Abandon
%>
<script>window.location='./carrocompras.asp'</script>
<%
End Select

'Exibe Pedido Atual
temp = ""
%>
<tr width=100%><td width=100%> </td></tr>
<tr width=100%><td width=100%><h3>Pedido Atual</h3></td></tr>
<tr width=100%><td width=100%>
<%
If IsEmpty(Session("car_prod_id")) Then 
%>
<h4>Carrinho Vazio</h4>
<% 
Else
Dim car_prod_nome,car_prod_preco,malha1,car_prod_atual
malha1 = "sim"
%>
<table border=1 width=100%>
<tr width=100%><th>Id</th><th>Produto</th><th>Valor/Unid</th><th>Quant.</th><th>SubTotal</th><th>Pedido</th></tr>
       <%
       For loop1 = LBound(session("car_prod_id")) to UBound(session("car_prod_id")) 
       	arrTemp = Split(Session("car_prod_id")(loop1),"&")
	'car_iten_prod = arrTemp(1)
	set car_prod_atual = lojaDB.Execute("SELECT * FROM produtos WHERE id="& car_iten_prod &" AND disp='S'")
	car_prod_nome = car_prod_atual("nome")
	car_prod_preco = car_prod_atual("preco")
	arrTemp = Split(Session("car_prod_id")(loop1),"&")
	car_iten_id = arrTemp(0)
	car_iten_quant = arrTemp(2)         
	car_subtotal = car_iten_quant * car_prod_preco
	car_total = car_total + car_subtotal
	%>
       	<tr width=100% valign=top class=<%=malha1%> align=center><td><%=car_iten_id%></td><td align=left><%=car_prod_nome%></td><td>R$<%=car_prod_preco%></td><td><%=car_iten_quant%></td><td>R$<%=car_subtotal%></td><td><a href="./carrocompras.asp?acao=excluir&car_iten_id=<%=car_iten_id%>&url_comp=<%=Server.UrlEncode(Request.QueryString("url_comp"))%>">Cancelar Item</a></td></tr>
        <%
	If malha1 = "sim" Then malha1 = "nao" Else malha1 = "sim" End If
	car_prod_atual.Close
	set car_prod_atual = Nothing
Next
%>
<tr width=100% class=<%=malha1%> align=center><td></td><td></td><td></td><td><b>Total = </b></td><td><b>R$<%=car_total%></b></td><td><a href="./carrocompras.asp?acao=zerar&url_comp=<%=Server.UrlEncode(Request.QueryString("url_comp"))%>">Cancelar Tudo</a></td></tr>
</table>
<tr><td> </td></tr>
<tr width=100% align=center><td width=100%><h3><a href="./fecharpedido.asp?log=in">Fechar Pedido</a></h3></td></tr>
<% End If %> 
</td></tr></table>


 

 

Desde já agradeço e obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu erro:

 

Response object error 'ASP 0156 : 80004005'

 

Header Error

 

/pedidos/loja/carrocomprasinc.asp, line 78

 

The HTTP headers are already written to the client browser. Any HTTP header modifications must be made before writing page content.

 

Eita trem locoo..

Compartilhar este post


Link para o post
Compartilhar em outros sites

<%

78 Response.Redirect("./carrocompras.asp")

%>

 

Foi o que você pediu para colocar, mas ja retirei...

to quebrando a cuca aqui...

Compartilhar este post


Link para o post
Compartilhar em outros sites

em vez de atualizar simplesmente mande para a mesma pagina mas sem reload

 

document.location.href='http://www.suapagina.com'

 

para ver se evitar esta duplicação

Compartilhar este post


Link para o post
Compartilhar em outros sites

o erro com toda certeza este em um destes 2 javascript, pois o navegador não teria bug de session, por isso o erro ta ai... veja da maneira que o mario sugeriu...

 

Em relação ao meu redirect sugerido, acho que eu errei ao mandar colocar ./ o correto é não utilizar... seria assim...

 

Response.Redirect("carrocompras.asp")

 

ou

 

Response.Redirect("/pasta/carrocompras.asp")

 

Se não estivesse na pasta principal.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só lembrando que o erro que apareceu com a sugestão do retrolink se deve provavelmente pois já deveria ter impresso algo na tela antes de redirecionar o causa o erro mostrado

 

Aguardamos retorno sobre o uso do location sem reload

Compartilhar este post


Link para o post
Compartilhar em outros sites

Este erro ocorre porque o servidor Web usa um cabeçalho HTTP para definir o navegador do cliente. O servidor Web, então, tenta repor o brower cliente usando outro cabeçalho HTTP (por exemplo, quando um cabeçalho HTTP define o navegador para o conteúdo-type = text / html e então um redirecionamento é emitido após isso). Um exemplo disso é quando uma página ASP é processada que contém tags HTML ou quaisquer outros scripts do servidor antes de uma declaração Response.Redirect.

 

Isto também ocorre se você atualizou um computador que está executando o Microsoft Windows NT 4.0 para Microsoft Windows Server 2003.

 

Um exemplo disso é quando uma página ASP é processada que contém tags HTML ou quaisquer outros scripts do servidor antes de uma declaração Response.Redirect.

 

As seguintes propriedades e métodos do objeto Response do ASP são vinculadas ao cabeçalhos HTTP:

Response.AddHeader

Response.CacheControl

Response.CharSet

Response.ContentType

Response.Expires

Response.ExpiresAbsolute

Response.Redirect

Response.Status

 

Para resolver esse problema, defina os cabeçalhos HTTP, como Redirect declarações ou informações cookie, antes de enviar a saída HTML.

 

Por exemplo, para evitar este erro de redirecionamento, ou buffer na página ASP ,durante o processamento e emitir o redirecionamento após o processamento. Há duas maneiras de realizar o buffer: em um nível de aplicativo ou em um nível de página.

 

Certifique-se que o redirecionamento é emitido após todos os scripts . Se ele é emitido antes do ASP scripts, a página ASP redireciona sem processar o código ASP.

 

Em um nível de aplicação, todas as páginas ASP dentro do aplicativo Web que serão colocados quando eles são processados. Para definir o buffer em um nível de aplicação, siga estes passos:

 

No Microsoft Management Console (MMC), localize o site onde seu aplicativo da Web reside.

Clique para expandir o site da Web para exibir os diretórios virtuais e aplicações web.

Botão direito do mouse o aplicativo da Web, e clique em Propriedades.

Na guia Diretório Virtual, clique em Configuração.

 

Observação - Se o botão de configuração não estiver disponível, o diretório virtual não é uma aplicação web. Clique em Criar para criar o diretório virtual para um aplicativo da Web.

Na caixa de diálogo Application Configuration, na guia Opções App, clique em Ativar buffering.

 

Para definir o buffer em um nível de página, adicionar o código após a linha @ LANGUAGE em uma página ASP como mostrado abaixo:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Este erro ocorre porque o servidor Web usa um cabeçalho HTTP para definir o navegador do cliente. O servidor Web, então, tenta repor o brower cliente usando outro cabeçalho HTTP (por exemplo, quando um cabeçalho HTTP define o navegador para o conteúdo-type = text / html e então um redirecionamento é emitido após isso). Um exemplo disso é quando uma página ASP é processada que contém tags HTML ou quaisquer outros scripts do servidor antes de uma declaração Response.Redirect.

 

Isto também ocorre se você atualizou um computador que está executando o Microsoft Windows NT 4.0 para Microsoft Windows Server 2003.

 

Um exemplo disso é quando uma página ASP é processada que contém tags HTML ou quaisquer outros scripts do servidor antes de uma declaração Response.Redirect.

 

As seguintes propriedades e métodos do objeto Response do ASP são vinculadas ao cabeçalhos HTTP:

Response.AddHeader

Response.CacheControl

Response.CharSet

Response.ContentType

Response.Expires

Response.ExpiresAbsolute

Response.Redirect

Response.Status

 

Para resolver esse problema, defina os cabeçalhos HTTP, como Redirect declarações ou informações cookie, antes de enviar a saída HTML.

 

Por exemplo, para evitar este erro de redirecionamento, ou buffer na página ASP ,durante o processamento e emitir o redirecionamento após o processamento. Há duas maneiras de realizar o buffer: em um nível de aplicativo ou em um nível de página.

 

Certifique-se que o redirecionamento é emitido após todos os scripts . Se ele é emitido antes do ASP scripts, a página ASP redireciona sem processar o código ASP.

 

Em um nível de aplicação, todas as páginas ASP dentro do aplicativo Web que serão colocados quando eles são processados. Para definir o buffer em um nível de aplicação, siga estes passos:

 

No Microsoft Management Console (MMC), localize o site onde seu aplicativo da Web reside.

Clique para expandir o site da Web para exibir os diretórios virtuais e aplicações web.

Botão direito do mouse o aplicativo da Web, e clique em Propriedades.

Na guia Diretório Virtual, clique em Configuração.

 

Observação - Se o botão de configuração não estiver disponível, o diretório virtual não é uma aplicação web. Clique em Criar para criar o diretório virtual para um aplicativo da Web.

Na caixa de diálogo Application Configuration, na guia Opções App, clique em Ativar buffering.

 

Para definir o buffer em um nível de página, adicionar o código após a linha @ LANGUAGE em uma página ASP como mostrado abaixo:

 

 

faltou você ter copiado alguns elementos lá no site da microsoft... você copiou só algumas coisas... faltou o final... tanto é que seu post termina com.... como mostrado abaixo...

 

A url daonde esse texto que você colocou e não referenciou os créditos esta aqui...

 

Autor: http://support.microsoft.com/kb/229657/pt-br

 

Por questão de bom senso... é sempre válido você dizer deonde tira os textos, se não fizer... passa a impressão de que esta tentando se passar pelo autor do texto.

 

Sem contar o fator bom senso... se não viu ou desconhece o autor... uma simples procura pode lhe informar quem é.

 

Bom senso sempre!!!...

Compartilhar este post


Link para o post
Compartilhar em outros sites

em vez de atualizar simplesmente mande para a mesma pagina mas sem reload

 

document.location.href='http://www.suapagina.com'

 

para ver se evitar esta duplicação

 

Bom dia Mário,

 

Fiz como sua orientação porém o item foi adicionado duplicado da mesma maneira.

 

Obrigado cara.

Continuo tentando aqui. Irei postando caso tenha alguma evolução.

 

o erro com toda certeza este em um destes 2 javascript, pois o navegador não teria bug de session, por isso o erro ta ai... veja da maneira que o mario sugeriu...

 

Em relação ao meu redirect sugerido, acho que eu errei ao mandar colocar ./ o correto é não utilizar... seria assim...

 

Response.Redirect("carrocompras.asp")

 

ou

 

Response.Redirect("/pasta/carrocompras.asp")

 

Se não estivesse na pasta principal.

 

Mesmo erro brother.

 

Response object error 'ASP 0156 : 80004005'

 

Header Error

 

/pedidos/loja/carrocomprasinc.asp, line 78

 

The HTTP headers are already written to the client browser. Any HTTP header modifications must be made before writing page content.

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual exatamente o comando que inclui?

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual exatamente o comando que inclui?

 

Veja os arquivos envolvidos até o momento que inserimos no carrinho de compras:

 

listaprodinc.asp

<%
Dim lista,cat_id,cat_nome,nome,lista_produtos,msgnada,obs
lista=Request.querystring("lista")
cat_id=Request.querystring("cat_id")
cat_nome=Request.querystring("cat_nome")
nome=Request.querystring("nome")
'obs=Request.querystring("obs")
%>
<table border=0 width=100%><tr width=100%><td width=100% valign=top><h2><%=cat_nome%></h2></td></tr>
<%
Select Case lista
Case "categoria"
set lista_produtos = lojaDB.Execute("SELECT * FROM produtos WHERE cat_id="& cat_id &" AND disp='S' ORDER BY nome")
msgnada = "No momento não dispomos de nenhum produto neste departamento."
Case "busca"
set lista_produtos = lojaDB.Execute("SELECT * FROM produtos WHERE nome LIKE '%"& nome &"%' OR descricaop LIKE '%"& nome &"%' OR descricaog LIKE '%"& nome &"%' OR preco LIKE '%"& nome &"%' OR imagem LIKE '%"& nome &"%' OR obs LIKE '%"& nome &"%' AND disp='S' ORDER BY nome")
msgnada = "Infelizmente não localizamos nenhum produto com esse nome."
Case Else
%>
<script>window.location="./index.asp"</script>
<%
End Select
If lista_produtos.EOF Then 
Response.Write "<tr><td><h4>" & msgnada & "</h4></td></tr>"
Else 
%>
<tr width=100%><td width=100%><table border=1 width=100%>
<tr><th>Nome</th><th>Descrição</th><th>Preço</th><th>Detalhes</th><th>Comprar</th></tr></thead></tr>
<%
Dim prod_cat_id,prod_id,prod_nome,prod_descricaop,prod_preco,malha1, observ
malha1 = "sim"
while not lista_produtos.EOF
	prod_cat_id = lista_produtos("cat_id")
	prod_id = lista_produtos("id")
	prod_nome = lista_produtos("nome")
	prod_descricaop = lista_produtos("descricaop")
	prod_preco = lista_produtos("preco")
	observ = lista_produtos("obs")
	%>                  
	<tr width=100% valign=top class=<%=malha1%>>
       <td><%=prod_nome%></td>
       <td><%=prod_descricaop%></td>
       <td>R$<%=prod_preco%></td>
	<td valign=top align=center>
		<a href="./detalheprod.asp?prod_id=<%=prod_id%>&url_comp=<%=Server.UrlEncode(Request.ServerVariables("QUERY_STRING"))%>"><img src="./images/lupa.gif" border=0></a>
		</td>




           <td> 
		<form action="./carrocompras.asp" method=get>
		<input type=hidden name=acao value=incluir>
		<input type=hidden name=prod_id value=<%=prod_id%>>
		<input type=hidden name=url_comp value="<%=Server.UrlEncode(Request.ServerVariables("QUERY_STRING"))%>">
           <input type=text name=prod_quant maxlength=2 size=2 value=1>
           <input type=image src="./images/comprar.gif" border=0>
		</form>

           </td>
	</tr>
	<%
	lista_produtos.movenext
	If malha1 = "sim" Then malha1 = "nao" Else malha1 = "sim" End If
wend
End If
lista_produtos.Close
set lista_produtos = Nothing
%>
</table>
</td>
</tr>
</table>

 

 

 

arquivo no qual os dados sao armazenados (este exibe os dados duplicados no firefox)

carrocomprasinc.asp

 

<!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>

<link rel=stylesheet href="./loja.css" type="text/css">
<link href="css/estilo.css" rel="stylesheet" type="text/css" />
<style>
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
}
</style>


</head>

<body>




<table border=0 width=100%>
<tr width=100%><td width=100% valign=top><h2>Carrinho de Compras</h2></td></tr>
<tr><td align=right><a href="#" onclick="window.location='./listaprod.asp?'+unescape('<%=Request.QueryString("url_comp")%>')">Voltar para a Loja</a></td></tr>
<%
Dim acao,data_ped,prod_id,prod_quant,car_prod_id,car_prod_quant,temp,arrTemp,iten_id,loop1,car_iten_id,car_iten_quant,car_iten_prod,car_total,car_subtotal
acao = Request.querystring("acao")
prod_id = Request.querystring("prod_id")
prod_quant = Request.querystring("prod_quant")
car_iten_id = Request.querystring("car_iten_id")

'Verifica se a quantidade e 0 e troca por 1
If IsEmpty(prod_quant) OR prod_quant=0 Then prod_quant = 1 End If

Select Case acao
Case "incluir"   
Dim car_prod_inc,prod_nome,prod_preco
temp = ""
set car_prod_inc = lojaDB.Execute("SELECT * FROM produtos WHERE id="& prod_id &" AND disp='S'")
prod_nome = car_prod_inc("nome")
prod_preco = car_prod_inc("preco")           
If IsEmpty(Session("iten_id")) Then 
	Session("iten_id") = 1
	Else
	Session("iten_id") = Session("iten_id") + 1
End If                                             
iten_id = Session("iten_id")
temp = iten_id & "&" & prod_id & "&" & prod_quant
       If Not (IsEmpty(Session("car_prod_id"))) Then
        For loop1 = LBound(session("car_prod_id")) to UBound(session("car_prod_id")) 
       		temp = temp & "/" & session("car_prod_id")(loop1)
       	Next
       End If
arrTemp = Split(temp,"/")
Session("car_prod_id") = arrTemp
%>              
<tr width=100%><td width=100%><h3>Produto Incluído</h3></td></tr>
<tr width=100%><td width=100%>
	<table border=1 width=100%>
	<tr width=100%>
		<th>Id</th><th>Produto</th><th>Valor/Unid</th><th>Quant.</th><th>SubTotal</th><th>Pedido</th>
	</tr><tr width=100% valign=top align=center>
		<td><%=iten_id%><td align=left><%=prod_nome%></td><td>R$<%=prod_preco%></td><td><%=prod_quant%></td><td>R$<%=prod_preco*prod_quant%></td><td><a href="./carrocompras.asp?acao=excluir&car_iten_id=<%=iten_id%>&url_comp=<%=Server.UrlEncode(Request.QueryString("url_comp"))%>">Cancelar Item</a></td>
	</tr></table>	

<%
Case "excluir"   
'Exclui o Id do produto no carrinho                                          
temp = ""
If Not (IsEmpty(Session("car_prod_id"))) Then 
        For loop1 = LBound(session("car_prod_id")) to UBound(session("car_prod_id")) 
       		arrTemp = Split(Session("car_prod_id")(loop1),"&")
		iten_id = arrTemp(0)       
		car_iten_prod = arrTemp(1)
		car_iten_quant = arrTemp(2)
		If Not (iten_id = car_iten_id) Then		
       	                If temp = "" Then 
                       		temp = session("car_prod_id")(loop1)
                       	Else
                        	temp = temp & "/" & session("car_prod_id")(loop1)
                        End If
       		End If
  	Next
	If temp = "" Then
		Session.Abandon
		%>









		<%
	Else
		arrTemp = Split(temp,"/")
		Session("car_prod_id") = arrTemp
	End IF
End If

Case "zerar"  
Session.Abandon
%>


<script>document.location.href='carrocompras.asp'</script>




<%
End Select

'Exibe Pedido Atual
temp = ""
%>
<tr width=100%><td width=100%> </td></tr>
<tr width=100%><td width=100%><h3>Pedido Atual</h3></td></tr>
<tr width=100%><td width=100%>
<%
If IsEmpty(Session("car_prod_id")) Then 
%>
<h4>Carrinho Vazio</h4>
<% 
Else
Dim car_prod_nome,car_prod_preco,malha1,car_prod_atual
malha1 = "sim"
%>
<table border=1 width=100%>
<tr width=100%><th>Id</th><th>Produto</th><th>Valor/Unid</th><th>Quant.</th><th>SubTotal</th><th>Pedido</th></tr>
       <%
       For loop1 = LBound(session("car_prod_id")) to UBound(session("car_prod_id")) 
       	arrTemp = Split(Session("car_prod_id")(loop1),"&")
	car_iten_prod = arrTemp(1)
	set car_prod_atual = lojaDB.Execute("SELECT * FROM produtos WHERE id="& car_iten_prod &" AND disp='S'")
	car_prod_nome = car_prod_atual("nome")
	car_prod_preco = car_prod_atual("preco")
	arrTemp = Split(Session("car_prod_id")(loop1),"&")
	car_iten_id = arrTemp(0)
	car_iten_quant = arrTemp(2)         
	car_subtotal = car_iten_quant * car_prod_preco
	car_total = car_total + car_subtotal
	%>
       	<tr width=100% valign=top class=<%=malha1%> align=center><td><%=car_iten_id%></td><td align=left><%=car_prod_nome%></td><td>R$<%=car_prod_preco%></td><td><%=car_iten_quant%></td><td>R$<%=car_subtotal%></td><td><a href="./carrocompras.asp?acao=excluir&car_iten_id=<%=car_iten_id%>&url_comp=<%=Server.UrlEncode(Request.QueryString("url_comp"))%>">Cancelar Item</a></td></tr>
  <%
	If malha1 = "sim" Then malha1 = "nao" Else malha1 = "sim" End If
	car_prod_atual.Close
	set car_prod_atual = Nothing
Next
%>
<tr width=100% class=<%=malha1%> align=center><td></td><td></td><td></td><td><b>Total = </b></td><td><b>R$<%=car_total%></b></td><td><a href="./carrocompras.asp?acao=zerar&url_comp=<%=Server.UrlEncode(Request.QueryString("url_comp"))%>">Cancelar Tudo</a></td></tr>
</table>
<tr><td> </td></tr>
<tr width=100% align=center><td width=100%><h3><a href="./fecharpedido.asp?log=in">Fechar Pedido</a></h3></td></tr>
<% End If %> 
</td></tr></table>


</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

não consegui ainda ver onde insere

 

pode me mostrar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

não consegui ainda ver onde insere

 

pode me mostrar?

 

é esta ação que inclui:

 

Select Case acao
Case "incluir"   
Dim car_prod_inc,prod_nome,prod_preco
temp = ""
set car_prod_inc = lojaDB.Execute("SELECT * FROM produtos WHERE id="& prod_id &" AND disp='S'")
prod_nome = car_prod_inc("nome")
prod_preco = car_prod_inc("preco")           
If IsEmpty(Session("iten_id")) Then 
	Session("iten_id") = 1
	Else
	Session("iten_id") = Session("iten_id") + 1
End If                                             
iten_id = Session("iten_id")
temp = iten_id & "&" & prod_id & "&" & prod_quant
       If Not (IsEmpty(Session("car_prod_id"))) Then
        For loop1 = LBound(session("car_prod_id")) to UBound(session("car_prod_id")) 
       		temp = temp & "/" & session("car_prod_id")(loop1)
       	Next
       End If
arrTemp = Split(temp,"/")
Session("car_prod_id") = arrTemp
%>              




<tr width=100%><td width=100%><h3>Produto Incluído</h3></td></tr>


<tr width=100%><td width=100%>
	<table border=1 width=100%>
	<tr width=100%>
		<th>Id</th><th>Produto</th><th>Valor/Unid</th><th>Quant.</th><th>SubTotal</th><th>Pedido</th>
	</tr><tr width=100% valign=top align=center>
		<td><%=iten_id%><td align=left><%=prod_nome%></td><td>R$<%=prod_preco%></td><td><%=prod_quant%></td><td>R$<%=prod_preco*prod_quant%></td><td><a href="./carrocompras.asp?acao=excluir&car_iten_id=<%=iten_id%>&url_comp=<%=Server.UrlEncode(Request.QueryString("url_comp"))%>">Cancelar Item</a></td>
	</tr></table>	

 

 

 

Aqui exibe os produtos atuais no carrinho, é onde os itens aparecem duplicados:

'Exibe Pedido Atual
temp = ""
%>
<tr width=100%><td width=100%> </td></tr>
<tr width=100%><td width=100%><h3>Pedido Atual</h3></td></tr>
<tr width=100%><td width=100%>
<%
If IsEmpty(Session("car_prod_id")) Then 
%>
<h4>Carrinho Vazio</h4>
<% 
Else
Dim car_prod_nome,car_prod_preco,malha1,car_prod_atual
malha1 = "sim"
%>
<table border=1 width=100%>
<tr width=100%><th>Id</th><th>Produto</th><th>Valor/Unid</th><th>Quant.</th><th>SubTotal</th><th>Pedido</th></tr>
       <%
       For loop1 = LBound(session("car_prod_id")) to UBound(session("car_prod_id")) 
       	arrTemp = Split(Session("car_prod_id")(loop1),"&")
	car_iten_prod = arrTemp(1)
	set car_prod_atual = lojaDB.Execute("SELECT * FROM produtos WHERE id="& car_iten_prod &" AND disp='S'")
	car_prod_nome = car_prod_atual("nome")
	car_prod_preco = car_prod_atual("preco")
	arrTemp = Split(Session("car_prod_id")(loop1),"&")
	car_iten_id = arrTemp(0)
	car_iten_quant = arrTemp(2)         
	car_subtotal = car_iten_quant * car_prod_preco
	car_total = car_total + car_subtotal
	%>
       	<tr width=100% valign=top class=<%=malha1%> align=center><td><%=car_iten_id%></td><td align=left><%=car_prod_nome%></td><td>R$<%=car_prod_preco%></td><td><%=car_iten_quant%></td><td>R$<%=car_subtotal%></td><td><a href="./carrocompras.asp?acao=excluir&car_iten_id=<%=car_iten_id%>&url_comp=<%=Server.UrlEncode(Request.QueryString("url_comp"))%>">Cancelar Item</a></td></tr>
  <%
	If malha1 = "sim" Then malha1 = "nao" Else malha1 = "sim" End If
	car_prod_atual.Close
	set car_prod_atual = Nothing
Next
%>
<tr width=100% class=<%=malha1%> align=center><td></td><td></td><td></td><td><b>Total = </b></td><td><b>R$<%=car_total%></b></td><td><a href="./carrocompras.asp?acao=zerar&url_comp=<%=Server.UrlEncode(Request.QueryString("url_comp"))%>">Cancelar Tudo</a></td></tr>
</table>
<tr><td> </td></tr>
<tr width=100% align=center><td width=100%><h3><a href="./fecharpedido.asp?log=in">Fechar Pedido</a></h3></td></tr>
<% End If %> 
</td></tr></table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas no banco está duplicado ou só na exibição? Isso é armazenado no banco ou só em sessions mesmo?

 

Ainda estou tentando entender o seu código que está um pouco confuso

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.