![]() |
Mandar resultados de formulario segun..... Hola amigos..mi tema es que tengo un formulario de evaluacion em un sitio web...algo asi como una encuentas a los visitantes. en el tengo varias preguntas y segun la respuesta que me dan lo encuestados es que le doy un puntaje por ejempo. Buena= 50 sufficiente =40 Mala = 10 y luego los resultados me llegan a un Mail determinado...hasta ahi todo bien y funciona. el tema es que me gustaria hacer que cuando la persona elija la opcion "MALA" del formulario...me llegara este resultado con el puntaje y todo pero a otro e-mail distinto al que uso para el resto de los resultados. Alguien me puede acosenjar en como hacerlo...pues no he ayado la forma de direccionar a e-mails disntitos dependiendo de la opciones que el visitante utilice. de ante mano gracias Alfredo |
ok. puedes hacerlo de la siguiente manera: cuando haces el request del form y de los checks o radio (como lo estes utilizando) entonces validas o preguntas si la opción q presionó el usuario es la mala y luego la cuentas normalment a diferencia que le mandas un mail utilizando la misma funcion que tienes para mandar las otras opciones de la encuesta... noc si me explico.... diagamos que: Código: total_buenas = 10 Código: total_malas = total_malas + 1 |
desde ya gracias Saruman...mira este el el codigo que tengo para mandar el mail con una funcion CDo Dim MailStatus 'función que envía mail function EnviaMail() Dim objNewMail Dim remitente 'if ( Request.form("email") = "" or Request.form("nombre") = "" or Request.form("comentario")= "") then 'Response.Redirect("ups.html") 'end if ' Crear Instancia Cdonts ' ESTE NO FUNCIONA EN 2003 Set objNewMail = Server.CreateObject("CDONTS.NewMail") Set objNewMail = Server.CreateObject("CDO.Message") remitente = Request.form("requiredemail") objNewMail.From = remitente objNewMail.To = "[email protected]" objNewMail.Subject = "tema" ' Generar el cuerpo de correo ahi tengo el mail fijo donde me llegan los resultados...pero coo puedo tener otra opcion para que cumpla con lo que deseo...es decir..que cuando pincha la opcion "mala"...el resultado se vaya a otro mail ?? saludos y gracias de antemano. |
bueno, te modifique la funcion... pero a esta función le faltan muchos parametros mas... ta incompleta :borracho: bueno, entonces mira arriba, lo edite y puse esta función allí |
Código: sub SendEmail(de, para, asunto, mensaje) |
Gracias Saruman... lo voy a probar y te comento.... :arriba: |
Hola de nuevo.. sabes..he estado intentando incorpora esa nueva funcion que me envias.. pero no se en donde debo discriminar para que el envio a mail se haga segun la respuesta...es decir. hoy dia me funciona bien siguien el esquema de que me envie todos los resultados del formulario al mismo mail. pero como lo debo hacer para decirle a mi funcion que si la opcion del formulario es "mala "..este envio me lo haga a otro mail distinto. me explico ?? o si gustas te puedo enviar todo el codigo. :arriba: saludos Alfredo |
manda el codigo pues.... postealo aqui mismo... o en un mensaje privado.. como gustes |
estes es mi codigo: <HTML> <HEAD> <TITLE>Insertar.asp</TITLE> </HEAD> <BODY> <% 'Recogemos los valores del formulario nombre=Request.Form("requirednombre") telefono= Request.Form("requiredtelefono") acompanante= Request.Form("requiredacompanante") institucion= Request.Form("requiredinstitucion") direccion= Request.Form("requireddireccion") ciudad= Request.Form("requiredciudad") pais= Request.Form("requiredpais") email= Request.Form("requiredemail") distribuidores= Request.Form("distribuidores") fax= Request.Form("fax") h_a= Request.Form("h_a") h_b= Request.Form("h_b") h_c= Request.Form("h_c") 'Instanciamos y abrimos nuestro objeto conexion Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("base.mdb") sSQL="Insert Into Clientes (nombre,telefono,acompanante,institucion,email,dir eccion,ciudad,pais,fax,h_a,h_b,h_c,) values ('" & nombre & "','" & telefono & "','" & acompanante & "','" & institucion & "','" & email & "','" & direccion & "','" & ciudad & "','" & pais & "','" & fax & "','" & h_a & "','" & h_b & "','" & h_c & "',)" 'Ejecutamos la orden set RS = Conn.Execute(sSQL) %> <% 'Cerramos el sistema de conexion Conn.Close %> <% Dim MailStatus 'función que envía mail function EnviaMail() Dim objNewMail Dim remitente ' Crear Instancia Cdonts Set objNewMail = Server.CreateObject("CDO.Message") remitente = Request.form("requiredemail") objNewMail.From = remitente objNewMail.To = "[email protected]" objNewMail.Subject = "tema" ' Generar el cuerpo de correo Dim Body Body = "A continuación información enviada desde formulario de contacto:" + vbcrlf + vbcrlf Body = Body + "Nombre completo: " + Request.form("requirednombre") + vbcrlf Body = Body + "Acompañante: " + Request.form("requiredacompanante") + vbcrlf Body = Body + "Institución: " + Request.form("requiredinstitucion") + vbcrlf Body = Body + "Dirección: " + Request.form("requireddireccion") + vbcrlf Body = Body + "Ciudad: " + Request.form("requiredciudad") + vbcrlf Body = Body + "E-mail: " + Request.form("requiredemail") + vbcrlf Body = Body + "País: " + Request.form("requiredpais") + vbcrlf Body = Body + "Fono: " + Request.form("requiredtelefono") + vbcrlf Body = Body + "Fax: " + Request.form("fax") + vbcrlf + vbcrlf Body = Body + "h_a: " + Request.form("h_a") + vbcrlf + vbcrlf Body = Body + "h_b: " + Request.form("h_b") + vbcrlf + vbcrlf Body = Body + "h_c: " + Request.form("h_c") + vbcrlf + vbcrlf objNewMail.TextBody = Body objNewMail.Send ' Creamos aviso que llega al usuario: Set objNewMail2 = Server.CreateObject("CDO.Message") objNewMail2.From = "[email protected]" objNewMail2.To = Request.form("requiredemail") objNewMail2.Subject = "asunto" ' Generar el cuerpo de correo objNewMail2.TextBody = Body2 objNewMail2.Send Response.Redirect("c_fichagracias.htm") end function 'ejecutamos la funcion EnviaMail() %> en la primera parte recojo los valores del formulario...luego los meto en la Bases de datos...y finalmente genero el cuerpo el mail que me llega con los resultados....todo esto funciona muy bien... entonces.. en la opcions "h_a" , "h_b" , "h_c" es donde quiero hacer los que necesito...cada una de estas opciones tiene tres alternativas (values)..."bueno", "regular" , "malo" y yo recojo esos valores..entonces..quiero que cuando la persona elija en cualquiera de ellas el valor "malo"..me llegue un mail..pero a una direccion de correo distinta de la que tengo en la funcion CDO. ([email protected])... eso es en sintesis... espero haber sido claro o de lo contrario me preguntas cualquier duda. desde ya..muchas gracias Alfredo |
dale así para ver: <HTML> <HEAD> <TITLE>Insertar.asp</TITLE> </HEAD> <BODY> <% 'Recogemos los valores del formulario nombre=Request.Form("requirednombre") telefono= Request.Form("requiredtelefono") acompanante= Request.Form("requiredacompanante") institucion= Request.Form("requiredinstitucion") direccion= Request.Form("requireddireccion") ciudad= Request.Form("requiredciudad") pais= Request.Form("requiredpais") email= Request.Form("requiredemail") distribuidores= Request.Form("distribuidores") fax= Request.Form("fax") h_a= Request.Form("h_a") h_b= Request.Form("h_b") h_c= Request.Form("h_c") 'Instanciamos y abrimos nuestro objeto conexion Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("base.mdb") sSQL="Insert Into Clientes (nombre,telefono,acompanante,institucion,email,dir eccion,ciudad,pais,fax,h_a,h_b,h_c,) values ('" & nombre & "','" & telefono & "','" & acompanante & "','" & institucion & "','" & email & "','" & direccion & "','" & ciudad & "','" & pais & "','" & fax & "','" & h_a & "','" & h_b & "','" & h_c & "',)" 'Ejecutamos la orden set RS = Conn.Execute(sSQL) %> <% 'Cerramos el sistema de conexion Conn.Close %> <% email_para_malas = "emailmala[arroba]gmail.com" email_others = "emailothers[arroba]gmail.com" Body = "A continuación información enviada desde formulario de contacto:" + vbcrlf + vbcrlf Body = Body + "Nombre completo: " + Request.form("requirednombre") + vbcrlf Body = Body + "Acompañante: " + Request.form("requiredacompanante") + vbcrlf Body = Body + "Institución: " + Request.form("requiredinstitucion") + vbcrlf Body = Body + "Dirección: " + Request.form("requireddireccion") + vbcrlf Body = Body + "Ciudad: " + Request.form("requiredciudad") + vbcrlf Body = Body + "E-mail: " + Request.form("requiredemail") + vbcrlf Body = Body + "País: " + Request.form("requiredpais") + vbcrlf Body = Body + "Fono: " + Request.form("requiredtelefono") + vbcrlf Body = Body + "Fax: " + Request.form("fax") + vbcrlf + vbcrlf Body = Body + "h_a: " + Request.form("h_a") + vbcrlf + vbcrlf Body = Body + "h_b: " + Request.form("h_b") + vbcrlf + vbcrlf Body = Body + "h_c: " + Request.form("h_c") + vbcrlf + vbcrlf if h_c = "malo" then call SendEmail(email, email_para_malas, "los malos", Body) else call SendEmail(email, email_others, "los otros", Body) end if sub SendEmail(de, para, asunto, mensaje) Set MyCDONTSMail2 = CreateObject("CDONTS.NewMail") MyCDONTSMail2.From = de MyCDONTSMail2.To = para MyCDONTSMail2.Subject = asunto MyCDONTSMail2.BodyFormat = 0 MyCDONTSMail2.MailFormat = 0 MyCDONTSMail2.Body = mensaje MyCDONTSMail2.Send set MyCDONTSMail2 = nothing end sub Response.Redirect("c_fichagracias.htm") %> </body> </HTML> </HEAD> pd. Man. esos h_a, h_b y h_c son radios o checkboxes?? si son radios y tu solo quieres que el usuario o cliente escoja solo una opción (asumo que la tienes así) entonces ponle a los radio un solo nombre. asi: Código HTML: <input name="radiobutton" type="voto" value="bueno"> bueno voto = request.form("voto") ya ya... te viene el bueno o el regular o el malo.... de otro modo, si son los checkboxes entonces dejalo asi.... pero no tiene sentido.... :pensando: |
Hola Saruman..gracias por todos tus consejos.. pero no logro que esto funcione.. no se como integrar ese codigo con lo que yo tengo |
Cita:
|
Hola Saruman...he estado trabajando con lo que me mandaste...pero ahora me surgio el siguiente problema cuando ejecuto la pagina... El componente ActiveX no puede crear el objeto: 'CDONTS.Newmail' como puedo solucionar eso ?? saludos |
y tienes el cdonts.dll en tu maquina y registrado?? |
Si primero averigue por que no funcinana..pero estab bien instalada lalibreria y bien registrada. no habra otra funcion de envio de mail que me pueda servir para estos efectos ?? saludos. |
En las FQS postie una lista de componentes para el envio de emails con sus respectivas formas de us-... date una vueltita por esos lados... saludos |
Cita:
|
Gracias...voy a revisar.. salut. |
La zona horaria es GMT -6. Ahora son las 14:27. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2025, Jelsoft Enterprises Ltd.