Carrito urgente !

Tengo una web montada y accesible. El problema es que quiero ponerle un carrito de compra. Nunca he utilizado ASP, pero se que la única manera de hacerlo es así. Mi idea sería tener varia páginas en html, con tablas insertadas en un formulario para poderlo enviar y los datos que me interese. Cuando pulso en un botón que hay al lado de un determinado artículo, se envía un determinado texto + importe a una página que denominaríamos carrito, en ASP. Esto lo he conseguido. Pero lo que pasa es que solo consigo escribir un dato de un artículo. Cuando pongo otro dato, me desaparece el anterior. Es decir necesito saber como pasar datos de una página Html a una ASP, de manera que se mantengan hasta que no cierres el site (creo que es con cookies, ¿no?). Después debería tener la opción a envirlo por correo, etc... De todas maneras, si hay alguna otra posibilidad de ponerme en contacto contigo, te lo agradecería.
Muchas gracias.
Respuesta
1
Cuando una página ASP termina de ejecutarse y presenta el resultado al navegador del usuario, se destruyen todas las variables utilizadas. Para conservar los datos, o bien los guardas en una base de datos, o bien, de una manera más sencilla, utilizas variables de sesión. Guardar un valor en una variable de sesión es tan fácil como:
<%
session("mivariabledesesion")=MiVariable
%>
Luego, leer el contenido es:
<%
MiVariable=session("mivariabledesesion")
%>
La variables de sesión siempre están vacías al principio, y por norma general se destruyen transcurridos 20 minutos de inactividad de la sesión. En el caso de un carrito, si por ejemplo de pasas el código del artículo y las unidades como 2 parámetros, podría ser así:
<%
session("carrito")=session("carrito") & request("codigo") & "," & request("unidades") & ";"
%>
Esto te generaría una cadena del estilo "ACP31,2;BTG12,1;CGF04,6;"
Respecto a lo del correo, si el servidor es un Windows 2000 o XP, puedes utilizar los CDO (Collaboration Data Objects). Una manera de usarlos es la que sigue:
<%
Const cdoSendUsingPort = 2
iServer = "<SMTPServer>" 'Servidor SMTP'
set iMsg = Server.CreateObject("CDO.Message")
set iConf = Server.CreateObject("CDO.Configuration")
Set iFlds = iConf.Fields
With iFlds
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = cdoSendUsingPort
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = iServer
.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 10
' .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 'Si el servidor requiere autentificación
' .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "<SMTPAccount>" 'Cuenta SMTP
' .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "<SMTPPwd>" 'Contraseña SMTP
.Update
End With
iMsg.Configuration = iConf
iMsg.From = "<Remitente>" 'Dirección del remitente
iMsg.Subject = "<Asunto>" 'Asunto del mensaje
iMsg.TextBody = "<Mensaje>" 'Cuerpo del mensaje
iMsg.To = "<Destino>" 'Dirección de destino
iMsg.Send
set iMsg = nothing
set iConf = nothing
set iFlds = nothing
%>
El objeto iMsg también tiene las propiedades Cc y Bcc para enviar copias del mensaje (direcciones separadas por ";"). Creo que tiene un método AddAttachment o algo así para añadir uno o varios archivos. Para saber si el mensaje se envía correctamente, puedes capturar los errores con "on error resume next", y ver si err<>0 después de ejecutar el método Send.

1 respuesta más de otro experto

Respuesta
1
Cookies o querys o input mediante formularios.
Hombre yo te podría indicar ejemplos como www.compra.es.fm pero todo depende de cuanto desees gastar por tener tu web ASP de carrito, desde luego gratis chungo y hacerlo por tu cuenta necesitaras tiempo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas