Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/05/2005, 12:52
mariano_donati
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 20 años, 1 mes
Puntos: 9
Otra vez el carro de compras...

Hola, hace un mes mas o menos que no puedo solucionar lo siguiente. Cuando agrego un producto al carro de compras desde la pagina principal y luego actualizo la cantidad desde el carro, todo funciona bien. Ahora, si lo agrego desde alguna otra seccion especial, por ejemplo desde los resultados del buscador, o desde el catalogo de los negocios, me lo agrega, pero cuando intento actualizar la cantidad desde el carro me vuelve nuevamente a la cantidad ingresada al principio, osea 1. Y lo mas llamativo es que cuando lo agrego desde alguna de esas partes mencionadas, la actualizacion de los productos que agregue a traves de la primera pagina, empiezan a darme el mismo error.
La verdad que ya no se como hacer con esto. Para quien le interese les dejo el codigo:


Pagina Principal (solo la parte en donde esta el boton para agregar al carro)

<td height="35" align="right" class="precios">HOME D-FEAT</td>
<td width="42"><a href="add.asp?cant=1&id=6"><img src="Imágenes/carro_accion.jpg" border="0"></a></td>
<td width="67" class="negocios">$ 2.500,33</td>
<td align="right" class="precios">AIWA</td>
<td width="48"><a href="add.asp?cant=1&id=12"><img src="Imágenes/carro_accion.jpg" border="0"></a></td>
<td width="57" class="negocios">$ 400,00</td>
<td align="right" class="precios">INTEL</td>
<td width="53"><a href="add.asp?cant=1&id=8"><img src="Imágenes/carro_accion.jpg" border="0"></a></td>
<td width="60" class="negocios">$ 1.730,83</td>


Pagina Add.asp

Id = CLng(Request.QueryString("id"))
Cantidad = CLng(Request.QueryString("cant"))
last_page = Request.ServerVariables("HTTP_REFERER")

if isobject(session("carro")) then
set carro=session("carro")
else
'Si no creo el objeto diccionario CARRO
set carro = Server.CreateObject("Scripting.Dictionary")
end if

if carro.Exists(Id) then
carro(Id) = Cantidad
else
carro.Add Id, 1
end if

set session("carro") = carro

Response.Redirect(last_page)
%>

Pagina que actualiza

sub meter(Id, Cantidad)
Id = CLng(Id)
Cantidad = CLng(Cantidad)
if session("carro").Exists(Id) then
session("carro")(Id) = Cantidad
else
carro.Add Id, 1
end if
end sub

For i=1 to Request.Form("producto").count
For a=1 to Request.Form("cant").count
if i=a then
call meter(Request.Form("producto")(i),Request.Form("ca nt")(a))
end if
next
next

Response.Redirect(Request.ServerVariables("HTTP_RE FERER"))



Pagina del catalogo (solo la parte en donde le paso las variables)

<td height="20" align="center"><a href="add.asp?cant=1&id=<%=RS_Cols(Id,fst_row)%>"> <img src="Imágenes/comprar_button.jpg" border="0"></a></td>
<td align="center"><a href="add.asp?cant=1&id=<%=RS_Cols(Id,snd_row)%>"> <img src="Imágenes/comprar_button.jpg" border="0"></a></td>
<td align="center"><a href="add.asp?cant=1&id=<%=RS_Cols(Id,trd_row)%>"> <img src="Imágenes/comprar_button.jpg" border="0"></a></td>
</tr>

NOTA: Pido disculpas por poner tanto código, es solamente para aquel que este interesado en ayudarme, para que tenga algo con que hacerlo. Nuevamente saludos y gracias.