Foros del Web » Creando para Internet » Flash y Actionscript »

problemas al enviar datos a php con actionscript

Estas en el tema de problemas al enviar datos a php con actionscript en el foro de Flash y Actionscript en Foros del Web. hola, yo tengo mi pagina echa en flash y en el contacto tengo tres campos de texto donde la gente introduce las consultas, que se ...
  #1 (permalink)  
Antiguo 28/07/2011, 19:40
Avatar de intiweb  
Fecha de Ingreso: mayo-2009
Ubicación: Capital Federal
Mensajes: 363
Antigüedad: 15 años, 6 meses
Puntos: 5
problemas al enviar datos a php con actionscript

hola, yo tengo mi pagina echa en flash y en el contacto tengo tres campos de texto donde la gente introduce las consultas, que se llaman:
nombre, mail, y coment.
Y con un boton y sctionscript las envio con el metodo POST a php para poder enviar por un email la consulta.
pero tengo problemas porque el codigo no me envia las consulta.
la verdad que de actionscript no entiendo mucho, soy mas de programar con PHP y javascript.
pero mirando el codigo no me paresiara que tuviera nada mal.

les dejo el codigo a ver si alguien sabe cual es mi error. o capas me dicen otro codigo que sea mas eficiente:

Código actionscript:
Ver original
  1. on (release) {
  2.     if (mail.length && nombre.length && comen.length) {
  3.         if (mail.text.indexOf("@") != -1 && mail.text.indexOf(".") != -1) {
  4.             form_lv = new LoadVars();
  5.             form_lv.nombre = nombre.text;
  6.             form_lv.mail = mail.text;
  7.             form_lv.mensaje = comen.text;
  8.             form_lv.sendAndLoad("http://www.comar-k.com/send.php", form_lv, "POST");
  9.             comen.text = "Enviando Mensaje...";
  10.             nombre.text = "";
  11.             mail.text = "";
  12.             form_lv.onLoad = function() {
  13.                 if (this.estatus == "ok") {
  14.                     comen.text = "Su mensaje fue enviado con exito";
  15.                     nombre.text = "";
  16.                     mail.text = "";
  17.                 } else {
  18.                     comen.text = "No se pudo enviar su mensage";
  19.                 }
  20.             };
  21.         } else {
  22.             mail.text = "Correo Invalido";
  23.         }
  24.     } else {
  25.         mail.text = "Dato Necesario";
  26.         nombre.text = "Dato Necesario";
  27.         comen.text = "Dato Necesario";
  28.     }
  29. }

bueno un saludo y espero que alguien sepa cual es mi problema.

les cuento que cuando lo pruebo me manda el comentario No se pudo enviar su mensage.
__________________
un saludo..... . . .
  #2 (permalink)  
Antiguo 28/07/2011, 22:19
 
Fecha de Ingreso: marzo-2010
Mensajes: 432
Antigüedad: 14 años, 8 meses
Puntos: 11
Respuesta: problemas al enviar datos a php con actionscript

Prueba con esto usa el URLLoader:

Código Flash:
Ver original
  1. var conectar:String = "http://localhost/PHP y Flash/miphp.php";
  2. var misdatos:URLLoader = new URLLoader(conectar);


fichero: miphp.php

Código PHP:
Ver original
  1. <?php  
  2.     $nombre = "ejemplo";
  3. ?>
__________________
Libro de HTML 5 + codigo fuente bajar aqui.
  #3 (permalink)  
Antiguo 28/07/2011, 22:21
Avatar de jatg  
Fecha de Ingreso: abril-2011
Ubicación: caracas
Mensajes: 152
Antigüedad: 13 años, 7 meses
Puntos: 15
Respuesta: problemas al enviar datos a php con actionscript

Cita:
Iniciado por intiweb Ver Mensaje
hola, yo tengo mi pagina echa en flash y en el contacto tengo tres campos de texto donde la gente introduce las consultas, que se llaman:
nombre, mail, y coment.
Y con un boton y sctionscript las envio con el metodo POST a php para poder enviar por un email la consulta.
pero tengo problemas porque el codigo no me envia las consulta.
la verdad que de actionscript no entiendo mucho, soy mas de programar con PHP y javascript.
pero mirando el codigo no me paresiara que tuviera nada mal.

les dejo el codigo a ver si alguien sabe cual es mi error. o capas me dicen otro codigo que sea mas eficiente:

Código actionscript:
Ver original
  1. on (release) {
  2.     if (mail.length && nombre.length && comen.length) {
  3.         if (mail.text.indexOf("@") != -1 && mail.text.indexOf(".") != -1) {
  4.             form_lv = new LoadVars();
  5.             form_lv.nombre = nombre.text;
  6.             form_lv.mail = mail.text;
  7.             form_lv.mensaje = comen.text;
  8.             form_lv.sendAndLoad("http://www.comar-k.com/send.php", form_lv, "POST");
  9.             comen.text = "Enviando Mensaje...";
  10.             nombre.text = "";
  11.             mail.text = "";
  12.             form_lv.onLoad = function() {
  13.                 if (this.estatus == "ok") {
  14.                     comen.text = "Su mensaje fue enviado con exito";
  15.                     nombre.text = "";
  16.                     mail.text = "";
  17.                 } else {
  18.                     comen.text = "No se pudo enviar su mensage";
  19.                 }
  20.             };
  21.         } else {
  22.             mail.text = "Correo Invalido";
  23.         }
  24.     } else {
  25.         mail.text = "Dato Necesario";
  26.         nombre.text = "Dato Necesario";
  27.         comen.text = "Dato Necesario";
  28.     }
  29. }

bueno un saludo y espero que alguien sepa cual es mi problema.

les cuento que cuando lo pruebo me manda el comentario No se pudo enviar su mensage.
hola , te lo voy a explicar en un breve tutorial aqui vamos :


Este tutorial nos ayudará a realizar un formulario a través de flash que se enviará por correo utilizando el soporte de PHP y la función de mail del servidor.

Para
este formulario, necesitaremos un servidor con soporte PHP y la función
mail activada. ¿Como sabemos si tenenos dicha función?, simple.

Crea un nuevo archivo PHP ("send.php") y pones el siguiente código.

Código:

<?php
mail("[email protected]", "Probando Ando =)", "Hola Hola!!");
?>

Súbelo a tu servidor y pruébalo www.tuServidor.com/send.php,
Si todo esta bien te saldrá una pagina en Blanco en el navegador y
a tu casilla llegara dicho correo.



Bien,
Una vez comprobado esto seguimos.

Primero trabajaremos el Fla:

Creamos
una nueva película, sobre el escenario creamos 4 campos de texto de
entrada InputText y les damos nombre de instancia, y creamos 2 botones "enviar_btn" y "borrar_btn"

Crearemos
2 funciones una para enviar las variables a PHP y otra función para
borrar los datos del formulario.

Función enviar:

Código:

enviar = function () {
if (email_txt.text.length && nombre_txt.length && titulo_txt.length && mensaje_txt.length) {
if (email_txt.text.indexOf("@") != -1 && email_txt.text.indexOf(".") != -1) {
form_lv = new LoadVars();
form_lv.nombre = nombre_txt.text;
form_lv.mail = email_txt.text;
form_lv.mensaje = mensaje_txt.text;
form_lv.titulo = titulo_txt.text;
form_lv.sendAndLoad("http://www.tmeister.net/send.php", form_lv, "POST");
mensaje_txt.text = "Enviando Mensaje..";
nombre_txt.text = "";
email_txt.text = "";
titulo_txt.text = "";
form_lv.onLoad = function() {
if (this.estatus == "ok") {
mensaje_txt.text = "Tu mensaje fue enviado...";
nombre_txt.text = "";
email_txt.text = "";
titulo_txt.text = "";
} else {
mensaje_txt.text = "Problemas con el servidornIntentalo de Nuevo";
}
};
} else {
email_txt.text = "Correo Invalido";
}
} else {
email_txt.text = "Dato Necesario";
nombre_txt.text = "Dato Necesario";
titulo_txt.text = "Dato Necesario";
mensaje_txt.text = "Dato Necesario";
}
};


Código:

if (email_txt.text.length && nombre_txt.length && titulo_txt.length && mensaje_txt.length)

Con esto comprobamos que al presionar el boton todos los campos de texto no
estén vacíos, si esta condición no se cumple en los campos
aparecerá el texto "Dato Necesario";

Código:

if (email_txt.text.indexOf("@") != -1 && email_txt.text.indexOf(".") != -1) {

Esta comprobación revisa que el mail introducido tenga la @ y
un punto .;

Si ambas condiciones son ciertas creamos una instancia de la clase LoadVars
y asignamos variables para enviar a PHP

Código:

form_lv_lv = new LoadVars();
form_lv.nombre = nombre_txt.text;
form_lv.mail = email_txt.text;
form_lv.mensaje = mensaje_txt.text;
form_lv.titulo = titulo_txt.text;
form_lv.sendAndLoad("send.php", form_lv, "POST");
mensaje_txt.text = "Enviando Mensaje..";
}

Una vez ejecutado el Script PHP y si todo salio bien, este, regresara una variable
llamada status que tomaremos con el evento onLoad

Código:

form_lv.onLoad = function() {
if (this.estatus == "ok") {
mensaje_txt.text = "Tu mensaje fue enviado. nGracias.... =)";
nombre_txt.text = " ";
email_txt.text = " ";
titulo_txt.text = " ";
} else {
mensaje_txt.text = "Problemas con el servidornIntentalo de Nuevo";
}
};
Función borrar:

Con esta función solo borraremos los datos que tengan los campos de texto.

Código:

borrar = function () {
nombre_txt.text = " ";
email_txt.text = " ";
mensaje_txt.text = " ";
titulo_txt.text = " ";
};
Esto no necesita mucha explicación =P

Por ultimo asignamos dichas funciones a los eventos de los botones

Código:

enviar_btn.onRelease = enviar;
borrar_btn.onRelease = borrar;


Y esto es todo en Flash.. Seguimos con el PHP..

Código:

<?php
if(isset($_POST["nombre"]) && isset($_POST["titulo"]) isset($_POST["email"])
isset($_POST["mensaje"]) ){
$fecha = date("d-M-y H:i");
$mymail = "[email protected]";
$subject = "Desde el Sitio.. =)";
$contenido = $nombre." Escribio :\n";
$contenido .= $mensaje."\n\n";
$contenido .= "el mensaje se escribio el ".$fecha;
$header = "From:".$mail."\nReply-To:".$mail."\n";
$header .= "X-Mailer:PHP/".phpversion()."\n";
$header .= "Mime-Version: 1.0\n";
$header .= "Content-Type: text/plain";
mail($mymail, $subject, utf8_decode($contenido) ,$header);
echo "&estatus=ok&";
}
?>


La función isset verifica que una variable exista, en este caso verificamos
que las cuatro variables existan antes de enviar el mail.

Los parámetros de la función mail de PHP son:
•Para: Correo destino. En este caso $mymail
•Titulo: Titulo del Correo. En este caso $subject
•Mensaje: Cuerpo del correo. En este caso $contenido
•Headers o cabeceras: Son las cabeceras del correo, donde se especifica
el tipo de contenido (texto plano, texto HTML), entre muchas otras opciones
que no mencionare.

Una vez enviado el mail el PHP regresa la variable status que Flash interpretara…
Si dicha variable existe es que todo funcióno… =)

NOTA: Para enviar un correo en formato HTML solo necesitas
escribir el cuerpo del mensaje con dicho formato (HTML) y en los headers especificarlo,
esto se hace cambiando Content-Type: text/plain por Content-Type:
text/html
__________________
www.josealexis.net
  #4 (permalink)  
Antiguo 28/07/2011, 22:44
Avatar de intiweb  
Fecha de Ingreso: mayo-2009
Ubicación: Capital Federal
Mensajes: 363
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: problemas al enviar datos a php con actionscript

gracias por la ayuda.
el tutorial que escribiste, es el mismo con el que tengo echo el contacto ahora mismo,
estaba mal el php no respondia el estatus al final, lo cambie y ahora anda pero es raro porque no me parece que eso debiera haacerlo andar. bueno igualmente gracias y un saludo. XD
__________________
un saludo..... . . .

Etiquetas: actionscript, flash, php, botones
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 17:11.