Comunidad de diseño web y desarrollo en internet online

VARIOS MAILS CON PHP

Citar            
MensajeEscrito el 06 Sep 2011 01:49 am
Hola, quiero establecer un formulario de contacto pero donde vengan 2 opciones para mail. Después de leer varios tutoriales y posts traté de hacer uno, pero poco entiendo de programación.

Mi "logica" fue utilizar el código que utilizo normalmente(sacado de un tutorial), el que solo envía a un destinatario. Luego añadí un dropbox y le puse las opciones que deseaba que en este caso son solo dos.

Luego dupliqué la función como enviar 1 y enviar 2 (la función que utilizo normalmente), a esto también duplique los php como send 1 y send 2 y después traté de unir eso con otro tutorial que decía como enviar a varios destinatarios, pero resultó en desastre.

Lo "único" que falta en el código -si es que lo podemos llamar así- es que cuando en el dropbox selecciono una de las 2 opciones se seleccione la función enviar 1 o enviar 2 dependiendo cual seleccione el usuario.

Les dejo el código esperando alguien pueda ayudarme. Gracias de antemano

Código :

destino.addItemAt(0, "Selecciona una opción...", 0);
destino.addItemAt(1, "Contacto", 0);
destino.addItemAt(2, "Aclaraciones", 0);
 
var seleccionado = destino.getSelected();
   if (seleccionado == "1" ) {
   enviar1();
   }
var seleccionado = destino.getSelected();
   if (seleccionado == "2" ) {
   enviar2();
   }

 
 enviar1 = function () {
   if (email_txt.text.length && nombre_txt.length && empresa_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.empresa = empresa_txt.text;
         form_lv.sendAndLoad("send1.php", form_lv, "POST");
         servidor_txt.text = "Enviando Mensaje...";
         nombre_txt.text = "";
         mensaje_txt.text = "";
         email_txt.text = "";
         empresa_txt.text = "";
                  form_lv.onLoad = function() {
            if (this.estatus == "ok") {
               servidor_txt.text = "Tu mensaje fue enviado. Gracias";
               nombre_txt.text = "";
               email_txt.text = "";
               mensaje_txt.text = "";
               empresa_txt.text = "";
            } else {
               servidor_txt.text = "Problemas con el servidor.";
            }
         };
      } else {
         email_txt.text = "Correo Invalido";
      }
   } else {
      email_txt.text = "Dato Necesario";
      nombre_txt.text = "Dato Necesario";
      empresa_txt.text = "Dato Necesario";
      mensaje_txt.text = "Dato Necesario";
   }
};

borrar1 = function () {
   nombre_txt.text  ="";
   empresa_txt.text   ="";
   email_txt.text ="";
   mensaje_txt.text ="";
   servidor_txt.text ="";
};
enviar_btn.onRelease = enviar1;
borrar_btn.onRelease = borrar1;



enviar2 = function () {
   if (email_txt.text.length && nombre_txt.length && empresa_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.empresa = empresa_txt.text;
         form_lv.sendAndLoad("send2.php", form_lv, "POST");
         servidor_txt.text = "Enviando Mensaje...";
         nombre_txt.text = "";
         mensaje_txt.text = "";
         email_txt.text = "";
         empresa_txt.text = "";
                  form_lv.onLoad = function() {
            if (this.estatus == "ok") {
               servidor_txt.text = "Tu mensaje fue enviado. Gracias";
               nombre_txt.text = "";
               email_txt.text = "";
               mensaje_txt.text = "";
               empresa_txt.text = "";
            } else {
               servidor_txt.text = "Problemas con el servidor.";
            }
         };
      } else {
         email_txt.text = "Correo Invalido";
      }
   } else {
      email_txt.text = "Dato Necesario";
      nombre_txt.text = "Dato Necesario";
      empresa_txt.text = "Dato Necesario";
      mensaje_txt.text = "Dato Necesario";
   }
};

borrar2 = function () {
   nombre_txt.text  ="";
   empresa_txt.text   ="";
   email_txt.text ="";
   mensaje_txt.text ="";
   servidor_txt.text ="";
};
enviar_btn.onRelease = enviar2;
borrar_btn.onRelease = borrar2;

Por decalogo

10 de clabLevel



 

msie
Citar            
MensajeEscrito el 06 Sep 2011 01:41 pm
Saludos.

Según lo que veo es un trabajo de variables, a cada select le tienes un value que corresponde al destinatario entonces en el php que se encarga de enviar el correo lo que tienes que hacer en lugar de poner un correo específico poner la variable devuelta por el select y que lo envie a ese correo.

Código ActionScript :

destino.addItemAt(0, "Selecciona una opción...", 0);

destino.addItemAt(1, "Contacto", "[email protected]");

destino.addItemAt(2, "Aclaraciones", "[email protected]");


Código PHP :

<?php
$para      = $_POST['destino']; //Devuelve el correo seleccionado
$titulo = 'El título';
$mensaje = 'Hola';
$cabeceras = 'From: [email protected]' . "\r\n" .
    'Reply-To: [email protected]' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($para, $titulo, $mensaje, $cabeceras);
?>


Creo que eso te podría ayudar en algo, yo de actionscript no estoy muy enterado pero la lógica sería esa.

Ciao y espero te sirva de algo!!!

Por danmoracr

Claber

128 de clabLevel

1 tutorial

Genero:Masculino  

Web application developer

firefox
Citar            
MensajeEscrito el 06 Sep 2011 03:59 pm
No, ahora ni siquiera salén los mensajes, antes salián solo a un correo, osea no le hacía casó al código, solo se enviaba a uno, ahora no sale nada. Y de hecho la película me marca enviado... :shock:

Por decalogo

10 de clabLevel



 

msie
Citar            
MensajeEscrito el 06 Sep 2011 04:46 pm
Y como estás enviando la variable POST del select al documento php de envio??

Por danmoracr

Claber

128 de clabLevel

1 tutorial

Genero:Masculino  

Web application developer

firefox
Citar            
MensajeEscrito el 06 Sep 2011 04:55 pm
El PHP lo dejé como estaba, que combinado con el código de arriba es como si me estaba mandando los mensajes pero solo a 1 de los correos. Osea entiendo que no le hace caso a las variables... creo.

En fin pongo el PHP original

Código :

<?php

$nombre = $_POST['nombre'];
$mail = $_POST['mail'];
$empresa = $_POST['empresa'];

$header = 'From: ' . $mail . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$mensaje = "Este mensaje fue enviado por " . $nombre . ", con el motivo " . $empresa . " \r\n";
$mensaje .= "Su e-mail es: " . $mail . " \r\n";
$mensaje .= "Mensaje: " . $_POST['mensaje'] . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());

$para = '[email protected]';
$asunto = 'Mensaje desde pagina web';

mail($para, $asunto, utf8_decode($mensaje), $header);

echo '&estatus=ok&';
?>

Por decalogo

10 de clabLevel



 

msie
Citar            
MensajeEscrito el 06 Sep 2011 05:51 pm
Es que de la misma forma que envia por POST las variables nombre, mail y empresa con la funcion sendAndLoad tiene que enviar la variable destino yo imagino que sería algo así:

Código ActionScript :

  vars = new LoadVars();
  vars.destino = destino.data;
  vars.sendAndLoad("send.php", vars, "POST");


Y así ya en el PHP podrías recibir la variable destino y trabajar con ella.

Por danmoracr

Claber

128 de clabLevel

1 tutorial

Genero:Masculino  

Web application developer

firefox
Citar            
MensajeEscrito el 06 Sep 2011 08:13 pm
No, nada.
Te hago una pregunta no se si mi lógica pueda estar bien.

¿No sería más fácil que el combobox funcionara como menu desplegable?, osea que cuando le de opción "a" me lleve al frame a donde estará la programación para ese formulario. Y al darle la opción "b" me lleve un frame más adelante con otra programación.

Digo se lee como recurso bastante malo, pero a estas alturas lo que sea es bueno....
Ahora la pregunta es: no sabes ¿como programar una opción del combobox para que me lleve a esos frame o etiquetas?

Jajaja saludos!!

Por decalogo

10 de clabLevel



 

msie

 

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