Comunidad de diseño web y desarrollo en internet online

Sobre tuto PHP y Loadvars

Citar            
MensajeEscrito el 09 May 2004 06:54 am
He intentado hacer el tuto de loadvars con php y tengo varios problemas.

Primero he de decir que el formulario no está en el 1er fotograma, tan solo en la capa AS esta el objeto Loadvars. en otro fotograma de la linea de tiempo (_root) tengo el formulario con el AS para los botones



stop ();

// AS para botones de FORMULARIO

enviar_btn.onRelease = function () {

estado_txt.text = "Enviando su correo ...";

enviarMail ();

trace (nombre_txt.text);

};

borrar_btn.onRelease = function () {

nombre_txt.text = "";

asunto_txt.text = "";

email_txt.text = "";

telefono_txt.text = "";

cuerpo_txt.text = "Escribe aqui...";

};




En un principio, parece que en "estado_txt" aparece el mensaje "ENVIANDO CORREO"

Luego aparece el mensaje "UNDEFINED", cuando deberia salir "EXITO" o "Error en la aplicación de correo", ¿cierto?



¿Será que no funciona porque NO está todo en el 1er fotograma? :oops:



Si para que funcione ha de estar en el 1er fotograma, ¿Como me lo monto para que funcione? En el 1er fotogrma ya puse los elementos DataGrid que recojen datos de un XML y naturalmente no puedo mezclarlo con el formulario... :?



¿Alguna idea?

Por Isaac

11 de clabLevel



 

Barcelona

unknown
Citar            
MensajeEscrito el 09 May 2004 01:56 pm
Me sirge una duda; donde esta la función enviarMail ()?

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

unknown
Citar            
MensajeEscrito el 09 May 2004 02:06 pm
Hola Freddie!

la funcion enviarMail() está en el :arrow: 1er fotograma, junto con las funciones LoadVars & Load.



Saludos



Isaac

Por Isaac

11 de clabLevel



 

Barcelona

unknown
Citar            
MensajeEscrito el 09 May 2004 02:39 pm
Tiene mucho que ver, porque cuando llega a ottro fram, las funciones que hayan en frames anteriores,quedan inhabilitados.



Pon todo en el mismo frame, y si no funciona, dejanos ver el code completo.



Saludos !



pd : donde estas tratando de correr el file, esta soportada la funcion mail() de php cierto??



JOHNMARTIN

Por JOHNMARTIN

Claber

1222 de clabLevel

4 tutoriales
4 articulos
2 ejemplos

Genero:Masculino  

||| BOGOTA COLOMBIA |||

unknown
Citar            
MensajeEscrito el 10 May 2004 05:38 am
...Ya lo imaginé que deberia estar todo en el mismo y 1er fotograma... :oops:

Lo que me pasa es que en el 1º tengo colocado el datagrid+XMLCnnector+Dataset que como sabes para que funcione tambien ha de estar en el 1er fotograma.



Entonces la seccion de "contacto" la tuve que poner en otro fotograma y como ya sabia que deberia estar todo en el 1º coloqué el AS del form en el 1º en la capa AS y el form en el fotograma 3 (he separado las secciones en fotogramas, la de form está en la 3º, el buscador está en el 1º, etc etc)

No se si me explicado :roll:



EN cuanto al código es practicamente el mismo que en el tutorial, solo que tiene mas campos el formulario, con lo que enviarMail() es un poquito mas larga y naturalmente el PHP tambien es mas largo.



<-- INICIO AS LOADVARS



// AS para el Formulario

//

var envio_lv:LoadVars = new LoadVars ();

var recibir_lv:LoadVars = new LoadVars ();

//

function enviarMail () {

envio_lv.nombre = nombre_txt.text; // Nombre y apellidoa del usuario

envio_lv.asunto = asunto_txt.text; // Titulo de email

envio_lv.email = email_txt.text; // Email del usuario

envio_lv.telefono = telefono_txt.text; // ¬¬'

envio_lv.cuerpo = cuerpo_txt.text; // Los comentarios

envio_lv.sendAndLoad ("email.php", recibir_lv, "POST");

}

//

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";

}

};

// AS para botones de FORMULARIO

//

enviar_btn.onRelease = function () {

estado_txt.text = "Enviando su correo ...";

enviarMail ();

trace (nombre_txt.text);

};

borrar_btn.onRelease = function () {

nombre_txt.text = "";

asunto_txt.text = "";

email_txt.text = "";

telefono_txt.text = "";

cuerpo_txt.text = "Escribe aqui...";

}

]<-- FIN AS LOADVARS;






<-- INICIO PHP

<?php

$sendTo = "[email protected]";

$subject = $_POST["asunto"];

$name = $_POST["nombre"];

$telefono = $_POST["telefono"];

$headers = "From: " . "__Formulario de prueba__";

$headers .= "<" . $_POST["email"] . ">\r\n";

$headers .= "Reply-To: " . $_POST["email"];

$message = $_POST["cuerpo"];

mail($sendTo, $subject, $name, $telefono, $message, $headers);

echo "estado=Mensaje enviado :D";

?>

<-- FIN PHP




Pues bien...ahi está el codigo, el trace en en AS del boton enviar o hace perfecto, pero ni manda correo (lo se por que me lo envio ami mismo...) y en el campo de texto "estado" no aparece el msg -> Mensaje enviado :D



Yo espero que este activavada la mail(), ya que se ha pagado por u alojamiento con base de datos y no ha salido precisamente baratito...lo consultare ya mismo...



Por cierto...como puedo confiurar la funcion mail() en mi localhost? :D



Saludos



Isaac

Por Isaac

11 de clabLevel



 

Barcelona

unknown
Citar            
MensajeEscrito el 10 May 2004 12:35 pm
Es un parametro en los config de Apache con PHP donde le indicas que tienes un servidor SMTP funcionando (Es decir, tienes que motarte un miniservidor de correo)



Ahora, en cuanto a esto, en la funcion "enviarMail" colocale "trace" a los campos de texto

Código :

trace(campo_txt.text);
para verificar que le estan llegando perfecto los datos, luego coloca este codigo en alguna parte del ActionScript



Código :

recibir_lv.onData = function(raw) {

    trace(raw);

}




Y corre la aplicación y COPIA Y PEGA EXACTAMENTE lo que te salga en la ventana del output, ese codigo te mostrara exactamente que llega por PHP

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

unknown
Citar            
MensajeEscrito el 10 May 2004 01:35 pm
Este es el resultado del trace:



El de los campos de texto:

Isaac

Prueba

[email protected]

555-55-55

Prueba de formulario



El trace de recibir_lv.onData:

<?php



$sendTo = "[email protected]";



$subject = $_POST["asunto"];



$name = $_POST["nombre"];



$telefono = $_POST["telefono"];



$headers = "From: " . "__Formulario de prueba__";



$headers .= "<" . $_POST["email"] . ">\r\n";



$headers .= "Reply-To: " . $_POST["email"];



$message = $_POST["cuerpo"];



mail($sendTo, $subject, $name, $telefono, $message, $headers);



echo "estado=Mensaje enviado :D";



?>

Como ves es identico al archivo "email.php" y el trace de los contenidos de los textinput es perfecto :shock:



Ahora si que no se porq no funciona.

Ah! los chicos de la empresa de hosting me han respondido esto:





La funcion es basica por lo que esta activada (mail())

Cuidado con las sentencias que le envias porque por ahi puede venir el

problema. Si quieres dinos donde la tienes y le hechamos un vistazo.




Total, que aun no recibi respuesta...

Si los trace son buenos, por que no llegan al correo ? :?:



Isaac

Por Isaac

11 de clabLevel



 

Barcelona

unknown
Citar            
MensajeEscrito el 10 May 2004 10:38 pm
Pero si AHI esta el problema; no puedes usar PHP localmente, tienen que ser probados desde un servidor, subelo a tu servidor y abrelo desde tu navegador con la URL del servidor (No al del disco duro), si no, jamas te funcionara, porque tiene que ser un servidor quien procese esos datos y segun lo que nos muestras, ningun servidor lo hace, sino que los datos los captura de tu disco, sin procesar

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

unknown

 

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