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

Problemas con el codigo de un Formulario

Estas en el tema de Problemas con el codigo de un Formulario en el foro de Flash y Actionscript en Foros del Web. Hola a todos: Tengo un problema con el codigo de un formulario que cogi del foro ya hace tiempo. El formulario consta de una serie ...
  #1 (permalink)  
Antiguo 25/09/2006, 17:17
 
Fecha de Ingreso: noviembre-2005
Mensajes: 50
Antigüedad: 19 años
Puntos: 0
Exclamación Problemas con el codigo de un Formulario

Hola a todos:

Tengo un problema con el codigo de un formulario que cogi del foro ya hace tiempo.

El formulario consta de una serie de campos de entrada de texto y dos botones un de enviar y otro de borrar.

En el primer frame y unico tengo el siguiente codigo:

stop();
enviar = function () {
if (empresa.length && contacto.length && sector.length && direccion.length && ciudad.length && telefono.length && email.length && notas.length && mensaje.length) {
form_lv = new LoadVars();
form_lv.empresa = empresa.text;
form_lv.contacto = contacto.text;
form_lv.sector = sector.text;
form_lv.direccion = direccion.text;
form_lv.ciudad = ciudad.text;
form_lv.telefono = telefono.text;
form_lv.email = email.text;
form_lv.notas = notas.text;
form_lv.mensaje = mensaje.text;

form_lv.sendAndLoad("aqui coloco la direccion de mi web/send.php", form_lv, "POST");
mensaje.text = "Enviando Mensaje..";
empresa.text = "";
contacto.text = "";
sector.text = "";
direccion.text = "";
ciudad.text = "";
telefono.text = "";
email.text = "";
notas.text = "";

form_lv.onLoad = function() {
if (this.estatus == "ok") {
mensaje.text = "Tu mensaje fue enviado...";
empresa.text = "";
contacto.text = "";
sector.text = "";
direccion.text = "";
ciudad.text = "";
telefono.text = "";
email.text = "";
notas.text = "";
} else {
mensaje.text = "Problemas con el servidor Intentalo de Nuevo";
}
};
} else {
empresa.text = "Dato Necesario";
contacto.text = "Dato Necesario";
sector.text = "Dato Necesario";
direccion.text = "Dato Necesario";
ciudad.text = "Dato Necesario";
telefono.text = "Dato Necesario";
email.text = "Dato Necesario";
notas.text = "Dato Necesario";
mensaje.text = "Dato Necesario";
}
};
borrar = function () {

empresa.text = "";
contacto.text = "";
sector.text = "";
direccion.text = "";
ciudad.text = "";
telefono.text = "";
email.text = "";
notas.text = "";
mensaje.text = "";
};
enviar.onRelease = enviar;
borrar.onRelease = borrar;





Luego he construido un documento php y le he llamado send.php y le he insertado el swf.

en el codigo del php he insertado el siguiente codigo:
</style></head>
<?
if(isset($_POST["empresa"]) && isset($_POST["contacto"]) && isset($_POST["sector"]) && isset($_POST["direccion"]) && isset($_POST["ciudad"]) && isset($_POST["telefono"]) && isset($_POST["email"]) && isset($_POST["notas"]) && isset($_POST["mensaje"])){
$mymail = "mi email";
$subject = "FORMULARIO LISTELOSYCENEFAS";
$contenido = $empresa." ".$contacto." ".$sector." ".$direccion." ".$ciudad." ".$telefono." ".$email." ".$notas." ".$mensaje." ".;
$contenido .= " Titulo: ".$titulo."\n\n";
$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&";
}
?>
<body>

Estoy trabajando con Flash 8 y otro dato es que en los botones no he insertado codigo.

Muchas gracias de antemano.

Antonio.
  #2 (permalink)  
Antiguo 26/09/2006, 02:15
Avatar de chascon  
Fecha de Ingreso: diciembre-2004
Mensajes: 231
Antigüedad: 19 años, 11 meses
Puntos: 0
antonio, que es lo q no funciona?
yo tambien use este formulario, le hice unos cambios para adecuarlo a lo q necesitaba, pero me funciono bien.
verifica los tiempos de instancia.
y otra cosa, el php es solo para recibir las variables enviadas por el swf y asi usar la funcion "mail" del server. Pero NO tienes para que insertar el swf en el send.php.
en esta linea:
form_lv.sendAndLoad("aqui coloco la direccion de mi web/send.php", form_lv, "POST");
solo coloca en q parte esta el archivo "send.php" con respecto al swf, no es necesario poner toda la direccion.


bueno, verifica eso y nos cuentas.
  #3 (permalink)  
Antiguo 26/09/2006, 06:16
 
Fecha de Ingreso: noviembre-2005
Mensajes: 50
Antigüedad: 19 años
Puntos: 0
Por Ejemplo, cuando pincho en el boton de borrar no borra.
Cuando pincho en el de enviar no envia.

Me podias indicar en el codigo donde estan los tiempos de instancia que me dices que verifique.

Con respecto a la direccion me podias poner un ejemplo.

Muchas gracias.

Antonio
  #4 (permalink)  
Antiguo 26/09/2006, 10:48
Avatar de chascon  
Fecha de Ingreso: diciembre-2004
Mensajes: 231
Antigüedad: 19 años, 11 meses
Puntos: 0
para borrar y enviar, los nombres de instancia de tu codigo se ve aqui:

enviar.onRelease = enviar;
borrar.onRelease = borrar;

donde el enviar del inicio de la linea es el nombre de instancia, si tu modificas ese nombre (ej: enviar_boton.onRelease = enviar;) debes colocar el mismo nombre q colocaste en la instancia y en el codigo. (sabes donde colocar el nombre de instancia a un boton?, espero a que si.)

verifica lo mismo para borrar.

en los campos de introducion de textos debe decir la instancia q le das en el codigo, si no los colocas no va a funcionar.

si el swf y el php estan en la misma carpeta, entonces seria:
form_lv.sendAndLoad("send.php", form_lv, "POST");

por lo visto sacaste la funcion q es para revisar si el correo tiene una forma valida, asegurate de que no falta ni sobra ninguna llave ( { } ).

espero te sirva mi respuesta.

bye, suerte!
=)

Última edición por chascon; 26/09/2006 a las 10:51 Razón: corregi una palabra mal escrita
  #5 (permalink)  
Antiguo 27/09/2006, 04:51
 
Fecha de Ingreso: noviembre-2005
Mensajes: 50
Antigüedad: 19 años
Puntos: 0
De momento muchas gracias.

Voy a comprobar todo lo que me comentas y ver si funciona.

Ya te comento.
  #6 (permalink)  
Antiguo 27/09/2006, 05:49
 
Fecha de Ingreso: noviembre-2005
Mensajes: 50
Antigüedad: 19 años
Puntos: 0
enviar.onRelease = enviar;
borrar.onRelease = borrar;

El primer problema resuelto:
Estaba llamando al botón igual que la variable:
Solución:

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

Y esto ya funciona.

Ahora voy a ver el resto.
  #7 (permalink)  
Antiguo 27/09/2006, 05:50
 
Fecha de Ingreso: noviembre-2005
Mensajes: 50
Antigüedad: 19 años
Puntos: 0
Perdón no la variable es la function.
  #8 (permalink)  
Antiguo 27/09/2006, 10:07
 
Fecha de Ingreso: noviembre-2005
Mensajes: 50
Antigüedad: 19 años
Puntos: 0
No lo entiendo, no funciona.



Ahora el codigo que tengo despues de las correcciones es:
enviar = function () {
if (empresa.length && contacto.length && sector.length && direccion.length && ciudad.length && telefono.length && email.length && notas.length && mensaje.length) {
form_lv = new LoadVars();
form_lv.empresa = empresa.text;
form_lv.contacto = contacto.text;
form_lv.sector = sector.text;
form_lv.direccion = direccion.text;
form_lv.ciudad = ciudad.text;
form_lv.telefono = telefono.text;
form_lv.email = email.text;
form_lv.notas = notas.text;
form_lv.mensaje = mensaje.text;

form_lv.sendAndLoad("send.php", form_lv, "POST");
mensaje.text = "Enviando Mensaje..";
empresa.text = "";
contacto.text = "";
sector.text = "";
direccion.text = "";
ciudad.text = "";
telefono.text = "";
email.text = "";
notas.text = "";

form_lv.onLoad = function() {
if (this.estatus == "ok") {
mensaje.text = "Tu mensaje fue enviado...";
empresa.text = "";
contacto.text = "";
sector.text = "";
direccion.text = "";
ciudad.text = "";
telefono.text = "";
email.text = "";
notas.text = "";
} else {
mensaje.text = "Problemas con el servidorn Intentalo de Nuevo";
}
};
} else {
empresa.text = "Dato Necesario";
contacto.text = "Dato Necesario";
sector.text = "Dato Necesario";
direccion.text = "Dato Necesario";
ciudad.text = "Dato Necesario";
telefono.text = "Dato Necesario";
email.text = "Dato Necesario";
notas.text = "Dato Necesario";
mensaje.text = "Dato Necesario";
}
};
borrar = function () {

empresa.text = "";
contacto.text = "";
sector.text = "";
direccion.text = "";
ciudad.text = "";
telefono.text = "";
email.text = "";
notas.text = "";
mensaje.text = "";
};
stop();
enviar_btn.onRelease = enviar;
borrar_btn.onRelease = borrar;



Y al presionar enviar me sale en todas las casillas "·Datos nenecasrios"

No lo entiendo.
  #9 (permalink)  
Antiguo 27/09/2006, 11:12
Avatar de chascon  
Fecha de Ingreso: diciembre-2004
Mensajes: 231
Antigüedad: 19 años, 11 meses
Puntos: 0
mira, la unica manera de saber que esta mal, es controlar las variables en flash y php para saber si estan llegando a donde deberian.
como hacer eso?, en flash con el trace();
es sencillo de ocupar, solo debes colocar la variable dentro del parentesis.
ej:
para controlar la variable "nombre"
trace (nombre);
esto se ve al probar la pelicula en flash (control + enter)

para el php lo haces con "echo", y como mandas las variables por post, seria asi:
<?
echo "la variable nombre es : ".$_POST[nombre];
?>

asi le fabricas una linea a cada para cada variable que deberia recibir el PHP.

lamento no poder revisar el codigo en un fla, pero me pillaste de salida =)

prueba eso y avisas como te fue.

bye, suerte!
  #10 (permalink)  
Antiguo 27/09/2006, 11:14
Avatar de chascon  
Fecha de Ingreso: diciembre-2004
Mensajes: 231
Antigüedad: 19 años, 11 meses
Puntos: 0
mira, la unica manera de saber que esta mal, es controlar las variables en flash y php para saber si estan llegando a donde deberian.
como hacer eso?, en flash con el trace();
es sencillo de ocupar, solo debes colocar la variable dentro del parentesis.
ej:
para controlar la variable "nombre"
trace (nombre);
esto se ve al probar la pelicula en flash (control + enter)

para el php lo haces con "echo", y como mandas las variables por post, seria asi:
<?
echo "la variable nombre es : ".$_POST[nombre];
?>

asi le fabricas una linea a cada para cada variable que deberia recibir el PHP.

lamento no poder revisar el codigo en un fla, pero me pillaste de salida =)

prueba eso y avisas como te fue.

bye, suerte!
  #11 (permalink)  
Antiguo 27/09/2006, 11:22
Avatar de chascon  
Fecha de Ingreso: diciembre-2004
Mensajes: 231
Antigüedad: 19 años, 11 meses
Puntos: 0
mira, la unica manera de saber que esta mal, es controlar las variables en flash y php para saber si estan llegando a donde deberian.
como hacer eso?, en flash con el trace();
es sencillo de ocupar, solo debes colocar la variable dentro del parentesis.
ej:
para controlar la variable "nombre"
trace (nombre);
esto se ve al probar la pelicula en flash (control + enter)

para el php lo haces con "echo", y como mandas las variables por post, seria asi:
<?
echo "la variable nombre es : ".$_POST[nombre];
?>

asi le fabricas una linea a cada para cada variable que deberia recibir el PHP.

lamento no poder revisar el codigo en un fla, pero me pillaste de salida =)

prueba eso y avisas como te fue.

bye, suerte!
  #12 (permalink)  
Antiguo 30/09/2006, 11:18
 
Fecha de Ingreso: noviembre-2005
Mensajes: 50
Antigüedad: 19 años
Puntos: 0
Nada no se que puede ser pero no funciona. Creo que voy a probar con otro tipo de formulario
  #13 (permalink)  
Antiguo 30/09/2006, 14:23
 
Fecha de Ingreso: septiembre-2006
Mensajes: 1.193
Antigüedad: 18 años, 1 mes
Puntos: 30
Las variables u objetos.. no las has declarado de forma correcta parece ser que las estas usando actionscript 1.0 y dices que lo estas modificanco con actionscript 2.0 (flash 8) para crear los objetos deberias usar esta forma

//*****************************************
var form_lv:LoadVars= new LoadVars();
form_lv.empresa = empresa.text;
....

Ahora


para darle el evento del boton enviar y borrar cambia el nombre de instancia tienes sobre los dos botones ya que los tienes al parecer con el mismo nombre que la funcion por ejemplo para el boton "enviar" ponle el nombre de "BotonEnviar" y quita el codigo anterior donde tenias


enviar_btn.onRelease = enviar;

y escribe esto mejor:

BotonEnviar.onRelease = function() {
enviar();
};


por ultimo en

form_lv.sendAndLoad("send.php", form_lv, "POST");

en el segundo parametro debes escribir el objeto que recibira los datos supongo que de php no puedes escribir el mismo que los envia osea el "form_lv".
  #14 (permalink)  
Antiguo 01/10/2006, 10:16
Avatar de a83
a83
 
Fecha de Ingreso: noviembre-2005
Ubicación: Santiago de chile
Mensajes: 637
Antigüedad: 19 años
Puntos: 1
puedo ocupar esto en asp

Cita:
Iniciado por chascon Ver Mensaje
antonio, que es lo q no funciona?
yo tambien use este formulario, le hice unos cambios para adecuarlo a lo q necesitaba, pero me funciono bien.
verifica los tiempos de instancia.
y otra cosa, el php es solo para recibir las variables enviadas por el swf y asi usar la funcion "mail" del server. Pero NO tienes para que insertar el swf en el send.php.
en esta linea:
form_lv.sendAndLoad("aqui coloco la direccion de mi web/send.php", form_lv, "POST");
solo coloca en q parte esta el archivo "send.php" con respecto al swf, no es necesario poner toda la direccion.


bueno, verifica eso y nos cuentas.



Una consulta soy nuevo en esto yo puedo ocupar este tipo de formularios pero para ASP para PHP da me di cuenta que se puede

Coso curioseada y ganas de aprender
  #15 (permalink)  
Antiguo 01/10/2006, 12:39
Avatar de chascon  
Fecha de Ingreso: diciembre-2004
Mensajes: 231
Antigüedad: 19 años, 11 meses
Puntos: 0
Matisse, si probaste lo que te dije, y no estan llegando las variables, el error es q no estan saliendo como se debe.
al menos a mi me funciono ese formulario.

a83, no tengo idea!!.
  #16 (permalink)  
Antiguo 03/10/2006, 06:59
 
Fecha de Ingreso: noviembre-2005
Mensajes: 50
Antigüedad: 19 años
Puntos: 0
Gracias voy a intentarlo.
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 23:51.