Comunidad de diseño web y desarrollo en internet online

Aclarando conceptos...

Citar            
MensajeEscrito el 15 Ene 2009 08:19 pm
A ver... estoy empezando en php, y estoy intentando crear que unos datos recogidos de flash, lleguen a un email. Pero lo hago basándome en un script de enviar un correo, con lo tipico de email, asunto, mensaje, pero no me sale bien. Por eso, creo q no entiendo bien el funcionamiento, así que expongo a continuación, cómo yo lo entiendo, y si alguién tiene la amabilidad de corregirme o decirme en que concepto estoy fallando, se lo agradezo.

Empiezo...

1- Declaro las variables, entre ellas el email de destino y su asunto. Ejemplo:

Código :

$sendTo = [email protected]";
$subject = "Formulario ejemplo";

2- Declaro las demás variables, que a su vez las recojo de un formulario hecho en flash. Ejemplo: (donde 'edad' es la variable en flash)

Código :

$edad_php = $_POST['edad'];

3- Compruebo que todos los variables están "rellenas". Ejemplo:

Código :

if($edad_php==NULL|$sexo_php==NULL){
echo "mensaje=Rellene los campos";
}else{
echo "mensaje= gracias";

4- y mandamos las variables al email. Ejemplo:
[code]
mail($sendTo, $subject,$edad_php, $sexo_php);
echo "estado=mensaje enviado";

Pues ya está... lo estoy haciendo así, y creo q es lo correcto, pero no, no lo es, pq al enviar los datos en el formulario del flash, en el campo de texto dinamico, q es el "mensaje", me sale, UNDIFINED, así que algo estoy haciendo mal, y creo q es en el php.

Si alguién es tan amable, de explicarme un poquito.... por favor....

Gracias...

Por Hapki

Claber

268 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 Ene 2009 10:01 pm
para mandar variables a flash necesitas poner un "amperson" *no se si se escriba asi* antes de la variable

Código PHP :

echo "&estado=mi mensaje";

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

firefox
Citar            
MensajeEscrito el 15 Ene 2009 10:39 pm
Ahh, gracias :D

Pero algo me sigue fallando, pq en estado, me sigue aparendiendo el mensaje de undifined :S, si lo de arriba está correcto, tiene q ser el flash no? Pego aqui el codigo, a ver si los conceptos flash tb los tengo mal.... (lo pongo aqui para no abrir un hilo nuevo en otro subforo, espero acertar)

Código :

stop();
//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.edad = edad_txt.text;
   envio_lv.sexo=sexo_txt.getItemAt(sexo_txt.selectedIndex).label;
   envio_lv.peso = peso_txt.text;
      
   envio_lv.sendAndLoad("aprenderacomer.php", recibir_lv, "POST");
}
//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";
   }
};

btn_enviar.onRelease = function(){
    estado_txt.text = "Enviando su correo ...";
   enviarMail();
}


:(

Por Hapki

Claber

268 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Ene 2009 12:44 am
prueba con algo asi, este codigo es el que yo uso y sirve perfecto

Código PHP :

<?php

    $fecha = date("D-M-y H:i");
   $mymail = "mail"; 
   $subject = "Correo de webmail";
   $contenido = "Nombre: ".$_POST["nombre"]."\nTelefono: ";
   $contenido .= $_POST["tel"]."\nMensaje: ";
   $contenido .= $_POST["mensaje"]."\n\n";
   $contenido .= "el mensaje se escribio el ".$fecha;
   $header = "From:".$_POST["nombre"]."<".$_POST["mail"].">"."\nReply-To:".$_POST["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&";

?>


solo cambia las variables y la info segun lo que quieres

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

firefox
Citar            
MensajeEscrito el 16 Ene 2009 06:49 pm
Gracias!! Ahora ya me funciona :D

Sólo me falta una cosita, para completarlo, y es que verás, este formulario está en una peli fla q se carga en el index.fla. Pero claro, en dicho index, el usuario está previamente registrado para acceder a este formulario. Entonces, cómo puedo hacer para que al enviar el formulario, tb se envie el nombre de usuario que está conectado??

Pq ahora mismo, sé que poniendo una variable más a recoger dentro del formulario, puede enviarse, pero yo no quiero eso, quiero q recoja la variable de su nombre que ha iniciado la sesión previamente. ¿Se puede ésto no?

Por Hapki

Claber

268 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Ene 2009 07:01 pm
tomas el user de alguna base ??? y a donde quieres que se mande

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

firefox
Citar            
MensajeEscrito el 16 Ene 2009 07:25 pm
En tu archivo de login luego de iniciar la sesion puedes poner algo como esto:

Código PHP :

$_SESSION['nombre'] = $nombre;
//En $nombre tienes el nombre del usuario
Y de ahí en adelante siempre tendrás desponible el nombre del usuario en el vector $_SESSION y cada vez que lo quieras usar solo haces referencia a $_SESSION['nombre']...

Espero te sirva, y hayas captado la idea...

Por KB-27

Claber

301 de clabLevel



 

My very secret HQ

firefox
Citar            
MensajeEscrito el 16 Ene 2009 09:47 pm
Si, creo q si.... a ver, si tengo los datos del usuario en una BD, y en el archivo php del login, pongo el code q me das (KB-27), luego desde cualquier php q tenga haciendo referencia como dices, ya puedo usarlo no? ...

Entonces en el code de nasho, para mandar el nombre del usuario, sólo tengo q poner ésto:

Código :

$contenido = "Nombre: ".$_SESSION["nombre"];


Es así, verdad?

Y siguiendo esta información, para que , en el "apartado" de la bandeja de entrada, del destinatario, aparezca como remitente, el email del usuario, tendría q poner ésto no? :

Código :

$header = "From:".$_SESSION["email"]."<".$_POST["mail"].">"."\nReply-To:".$_POST["mail"]."\n"; 


Sólo así? o debo modificar algo más?
-------------------------------------------------------------------------------------------------------
Si todo lo que expongo está correcto, os puedo plantear otra duda?

Cómo puedo diseñar un formato a las variables q se manda al email de destino?, me explico, ahora mismo, al email llega, por ejemplo así:
Edad: 26
Sexo: Femenino
etc....
Yo quiero ahora hacer, por ejemplo, que Edad sea negrita, o que el valor sea de otro color. ¿Cómo podría hacerlo? O... incluso al principio del email, añadir una pequeña pagina html, a modo de cabecera.

Pero antes, quiero asegurarme q el tema q estamos tratando, el de $_SESSION, de arriba, está ok, o si he comito algún error en la manera de enfocarlo.

Mil gracias por vuestro tiempo y ayuda.

Por Hapki

Claber

268 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Ene 2009 09:54 pm
Si, captaste bien lo de $_SESSION, debería funcionar con las modificaciones que hiciste... Con lo otro... Te ayudo luego, voy saliendo del trabajo ^^

Chau...

Por KB-27

Claber

301 de clabLevel



 

My very secret HQ

firefox
Citar            
MensajeEscrito el 17 Ene 2009 07:32 pm
Gracias por confirmarmelo.... Espero tus instrucciones para lo siguiente :D ... Gracias!!

Por Hapki

Claber

268 de clabLevel



 

firefox

 

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