Comunidad de diseño web y desarrollo en internet online

Recoger variables de formulario Flash en ASP.

Citar            
MensajeEscrito el 20 Abr 2009 09:28 am
Buenos días,

Tengo un código de un formulario en flash el cual está de la siguiente manera:

Código :

//Declaro las variables para enviar y para recibir
var envio_lv:LoadVars = new LoadVars();
var recibir_lv:LoadVars = new LoadVars();
//Función que envia el forumlario
function enviarMail() {
   envio_lv.asunto = asunto_txt.text;
   envio_lv.email = email_txt.text;
   envio_lv.cuerpo = cuerpo_txt.text;
   envio_lv.telefono = telefono_txt.text;
   envio_lv.sendAndLoad("email.aspx", recibir_lv, "POST");
   //Aqui ustedes pueden cambiar de form.php a form.asp dependiendo del servidor
   //que usen
}
//Función que procesa los datos recibidos del servidor
recibir_lv.onLoad = function(exito) {
   if (exito) {
      estado_txt.text = this.estado;
   } else {
      //Muestra un mensaje de error en negrita
      estado_txt.text = "Error en la aplicación de correo";
   }
};




Y quiero recoger esas variables en el archivo enviar.aspx (asp.net) para enviar el mensaje.

¿ De que forma recogo esas variables en este script de envío (tal y como está a continuación envia un correo a través de html, pero que debo hacer para que funcione con esas variables de flash)?

Código :

<%@ Page Language="VB" %>

<!DOCTYPE "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    Protected Sub btnEnviar_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        '
        Dim correo As New System.Net.Mail.MailMessage()
        correo.From = New System.Net.Mail.MailAddress(txtDe.Text)
        correo.To.Add(txtPara.Text)
        correo.Subject = txtAsunto.Text
        txtTexto.Text &= vbCrLf & vbCrLf & _
                        "Fecha y hora GMT: " & _
                        DateTime.Now.ToUniversalTime.ToString("dd/MM/yyyy HH:mm:ss")
        correo.Body = txtTexto.Text
        correo.IsBodyHtml = False
        correo.Priority = System.Net.Mail.MailPriority.Normal
        '
        Dim smtp As New System.Net.Mail.SmtpClient
        '
        '---------------------------------------------
        ' Estos datos debes rellanarlos correctamente
        '---------------------------------------------
        smtp.Host = "smtp.1and1.es"
        'smtp.Credentials = New System.Net.NetworkCredential("usuario", "password")
        'smtp.EnableSsl = False
        '
        Try
            smtp.Send(correo)
            LabelError.Text = "Mensaje enviado satisfactoriamente"
        Catch ex As Exception
            LabelError.Text = "ERROR: " & ex.Message
        End Try
        
    End Sub

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
        ' Esto (en ASP.NET 2.0) no se ejecuta... si AutoEventWireup="false"
        If Not IsPostBack Then
            txtTexto.Text = "Hola," & vbCrLf & _
                        "Esto es una prueba de envio de correo usando ASP.NET 2.0 con Visual Basic" & vbCrLf & _
                        "Saludos!!!"
            LabelError.Text = ""
        End If
    End Sub
</script>



Muchas gracias

Un saludo,
Víctor

Por PIDVIC

3 de clabLevel



 

msie7
Citar            
MensajeEscrito el 10 May 2011 05:00 pm
Despues de una semana, a 8 horas diarias, tras buscar infinitamente sobre el problema de que el archivo .asp no devolvía la variable que le había pasado desde mi flash...
Por fin resolvi el problema.

Trabajando con este tutorial:
http://www.cristalab.com/tutoriales/enviar-correo-electronico-en-flash-usando-loadvars-c7l/

El problema era que cuando indica que tras pasarle las variables al .asp me devolvería las variables que le acababa de pasar (para confirmar que efectivamente le estaban llegando las variables), nunca llegaban los datos o llegaba la variable como "undefined".

La cosa estaba en el documento .asp, cuando uno declaraba logicamente primero las variables:


Código :

<%
  Dim nombre=Request.Form("nombre")
  Dim email=Request.Form("email")
  Dim clave=Request.Form("clave")

  Response.Write("mensaje=Bienvenido " & nombre & "<br />Entra con tu clave '" & clave & "' :D")
  Response.Write("<br />Att: The Cristalab Team")
%>



En realidad, y no se por qué, pero tanteando resulta que el problema estaba en el declarar primero las variables, por eso nunca llegaba la segunda sección de "response.write", sino que se quedaba enganchado en ese error. La cosa es no declarar las variables (DIM) sino directamente agregarles el valor, asi:

Código :

<%
  nombre=Request.Form("nombre")
  email=Request.Form("email")
  clave=Request.Form("clave")

  Response.Write("mensaje=Bienvenido " & nombre & "<br />Entra con tu clave '" & clave & "' :D")
  Response.Write("<br />Att: The Cristalab Team")
%>


Ahora sí, efectivamente mi flash manda las variables "nombre", "email" y "clave", y .asp me las devuelve y las visualizo en mi misma ventana del flash como confirmación.

Bueno, espero que esto le ahorre unas tantas horas a quienes sigan cayendo en este problema. Suerte.

Por patologico

3 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.