Foros del Web » Programando para Internet » ASP Clásico »

Otra vez el carro de compras...

Estas en el tema de Otra vez el carro de compras... en el foro de ASP Clásico en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 19/05/2005, 12:52
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 2 meses
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.
  #2 (permalink)  
Antiguo 19/05/2005, 13:50
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
Y para que utilizas clong? te van a pedir mas de 32.767(tope de integer) unidades de un producto?¿.....no creo. Ojo, no digo que con esto se arregle, es solo un apunte. pero creo que leí algo tuyo como que te preocupaba saturar el servidor.

lo dicho, pasa el valor a integer y prueba. igual chifla la flauta y funciona.
  #3 (permalink)  
Antiguo 19/05/2005, 14:07
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 2 meses
Puntos: 9
Ya cambie a Integer, sigue sin funcionar. No se que le pasara. Igual gracias por el apunte, por mas que no parezca, pero si me interesa mucho los recursos del servidor y lograr a través de la programación que sean eficaces (aunque, como ya dije, no lo parezca, jejeje).
Saludos.
  #4 (permalink)  
Antiguo 19/05/2005, 15:26
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
has comprobado viendo el código fuente html en la página del catálogo que cargue bien los ID de los productos en los enlaces?
  #5 (permalink)  
Antiguo 19/05/2005, 15:47
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 2 meses
Puntos: 9
Si, los carga bien, por las dudas me fije nuevamente, y eso funciona bien. Pero lo raro es que me lo agrega al carro, pero despues cuando quiero actualizar la cantidad es donde me viene la falla de que no funciona la actualizacion.

Última edición por mariano_donati; 19/05/2005 a las 15:49 Razón: Agregar mas informacion
  #6 (permalink)  
Antiguo 19/05/2005, 16:23
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 2 meses
Puntos: 9
Juro que nunca mas probaré mis páginas en el Explorer

Bueno Trasgukabi (y a quien lea este mensaje), me andaba bien todo, menos el explorer. Quisiera saber si Bill Gates me va devolver el tiempo que perdí tratando de solucionar este tema!!!!. Puede ser que me de fallas al enviar variables por el metodo POST el explorer?, alguna vez les pasó?. Bueno, saludos a todos.
  #7 (permalink)  
Antiguo 19/05/2005, 16:29
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
jua jua jua jua, perdon.

firefoxfirefoxfirefox y más firefox
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:33.