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

Mandar resultados de formulario segun.....

Estas en el tema de Mandar resultados de formulario segun..... en el foro de ASP Clásico en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 19/07/2005, 12:33
 
Fecha de Ingreso: marzo-2004
Mensajes: 37
Antigüedad: 21 años
Puntos: 0
De acuerdo 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
  #2 (permalink)  
Antiguo 19/07/2005, 12:46
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años, 10 meses
Puntos: 5
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 
total_malas = 5
 
function EnviaMail(email,tema,remitente)
Set objNewMail = Server.CreateObject("CDO.Message")
objNewMail.From = remitente
objNewMail.To = email
objNewMail.Subject = tema
end function
y la opcion que selecciono el usuario fue la mala... ya de salida tienes que sumarle una al total de malas.

Código:
 total_malas = total_malas + 1 
 


if opcion = "mala" then 

email = [email protected] 

remitente = request.form("remitente") 

call EnviaMail(email,"las respuestas malas",remitente) 
end if 
 
email = [email protected]
 
remitente = request.form("remitente")
call EnviaMail(email,"todas las respuestas",remitente)
pd. estoy omitiendo pasos ok? pero el punto es este.
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.

Última edición por Saruman; 19/07/2005 a las 13:09
  #3 (permalink)  
Antiguo 19/07/2005, 12:57
 
Fecha de Ingreso: marzo-2004
Mensajes: 37
Antigüedad: 21 años
Puntos: 0
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.
  #4 (permalink)  
Antiguo 19/07/2005, 13:05
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años, 10 meses
Puntos: 5
bueno, te modifique la funcion... pero a esta función le faltan muchos parametros mas... ta incompleta

bueno, entonces mira arriba, lo edite y puse esta función allí
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #5 (permalink)  
Antiguo 19/07/2005, 13:11
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años, 10 meses
Puntos: 5
Código:
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
mira, esta función funciona perfectamente.
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #6 (permalink)  
Antiguo 20/07/2005, 12:22
 
Fecha de Ingreso: marzo-2004
Mensajes: 37
Antigüedad: 21 años
Puntos: 0
Gracias Saruman...
lo voy a probar y te comento....
  #7 (permalink)  
Antiguo 20/07/2005, 13:27
 
Fecha de Ingreso: marzo-2004
Mensajes: 37
Antigüedad: 21 años
Puntos: 0
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.


saludos
Alfredo
  #8 (permalink)  
Antiguo 20/07/2005, 13:29
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años, 10 meses
Puntos: 5
manda el codigo pues....
postealo aqui mismo... o en un mensaje privado.. como gustes
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #9 (permalink)  
Antiguo 20/07/2005, 14:25
 
Fecha de Ingreso: marzo-2004
Mensajes: 37
Antigüedad: 21 años
Puntos: 0
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
  #10 (permalink)  
Antiguo 20/07/2005, 14:43
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años, 10 meses
Puntos: 5
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
	<input name="radiobutton" type="voto" value="regular">regular
	<input name="radiobutton" type="voto" value="malo"> malo
luego en el asp lo recoges asi:

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....
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.

Última edición por Saruman; 20/07/2005 a las 14:51
  #11 (permalink)  
Antiguo 25/07/2005, 13:39
 
Fecha de Ingreso: marzo-2004
Mensajes: 37
Antigüedad: 21 años
Puntos: 0
Hola Saruman..gracias por todos tus consejos..
pero no logro que esto funcione..

no se como integrar ese codigo con lo que yo tengo
  #12 (permalink)  
Antiguo 25/07/2005, 13:44
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años, 10 meses
Puntos: 5
Cita:
Iniciado por alfredo3000
Hola Saruman..gracias por todos tus consejos..
pero no logro que esto funcione..

no se como integrar ese codigo con lo que yo tengo
todavia??
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #13 (permalink)  
Antiguo 05/08/2005, 12:08
 
Fecha de Ingreso: marzo-2004
Mensajes: 37
Antigüedad: 21 años
Puntos: 0
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
  #14 (permalink)  
Antiguo 05/08/2005, 12:22
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años, 10 meses
Puntos: 5
y tienes el cdonts.dll en tu maquina y registrado??
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #15 (permalink)  
Antiguo 05/08/2005, 12:56
 
Fecha de Ingreso: marzo-2004
Mensajes: 37
Antigüedad: 21 años
Puntos: 0
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.
  #16 (permalink)  
Antiguo 05/08/2005, 13:06
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 22 años, 4 meses
Puntos: 16
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
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #17 (permalink)  
Antiguo 05/08/2005, 13:19
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años, 10 meses
Puntos: 5
Cita:
Iniciado por El_Metallick
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
sip, muy buena por cierto
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #18 (permalink)  
Antiguo 05/08/2005, 13:26
 
Fecha de Ingreso: marzo-2004
Mensajes: 37
Antigüedad: 21 años
Puntos: 0
Gracias...voy a revisar..

salut.
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 06:56.