Foros del Web » Programando para Internet » PHP »

Enviar email dependiendo del checkbox.

Estas en el tema de Enviar email dependiendo del checkbox. en el foro de PHP en Foros del Web. Hola! Tengo una duda y necesito ayuda, ojalá me la puedan dar. Tengo un formulario de contacto. Además de ingresar nombre, email, etc, el usuario ...
  #1 (permalink)  
Antiguo 06/05/2010, 16:26
 
Fecha de Ingreso: septiembre-2008
Mensajes: 32
Antigüedad: 16 años, 2 meses
Puntos: 0
Enviar email dependiendo del checkbox.

Hola! Tengo una duda y necesito ayuda, ojalá me la puedan dar.

Tengo un formulario de contacto. Además de ingresar nombre, email, etc, el usuario puede escoger entre 3 opciones en un checkbox. ¿Cómo hago para que dependiendo de lo que escogió se mande el mail a un destinatario en particular?

He buscado en Google y lo que he conseguido no me ha funcionado.

Gracias a todos de antemano.
  #2 (permalink)  
Antiguo 06/05/2010, 16:34
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 11 meses
Puntos: 89
Respuesta: Enviar email dependiendo del checkbox.

Pues con un simple $_POST.

Ej :

Código PHP:
Ver original
  1. if(!empty($_POST['opcion1'])) {
  2.    // hacer algo...
  3. } else if(!empty($_POST['opcion2'])) {
  4.    // hacer otra cosa...
  5. } else {
  6.    // hacer alguna otra cosa...
  7. }

Espero te sirva... nos vemos.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #3 (permalink)  
Antiguo 06/05/2010, 16:45
Avatar de 2102325  
Fecha de Ingreso: octubre-2009
Ubicación: Santo Domingo RD
Mensajes: 75
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Enviar email dependiendo del checkbox.

Es simple como dice spider_boy solo tienes que condicionar tus checkbox, auque si quieres que seleccione solo una deberias utulizar combobox, los chexbox te permitiran marcarlos todos al mismo tiempo, asi que te recomiendo usar combobox, y condicionarlos como dice nuestro compañero...

imaginate que definiste un mensaje diferente para cada combobox, el cual pasaras por parametro a tu funcion mail, entonces solo deves llamar tu funcion mail desde dentro de cada if

Ejemplo

Código PHP:
Ver original
  1. if(!empty($_POST['opcion1'])) {
  2.    // tu funcion mail con parametro combobox1
  3. } else if(!empty($_POST['opcion2'])) {
  4.    // tu funcion mail con parametro combobox2
  5. } else {
  6.    // tu funcion mail con parametro combobox3
  7. }
  #4 (permalink)  
Antiguo 07/05/2010, 09:01
 
Fecha de Ingreso: septiembre-2008
Mensajes: 32
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Enviar email dependiendo del checkbox.

Gracias por su ayuda, no sé mucho de PHP.
No necesito el combobox (además no conozco mucho). Lo intenté de la forma en que me han dicho y al presionar enviar me aparece un mensaje de error:

Warning: implode() [function.implode]: Invalid arguments passed in... con una línea de un php donde tengo las funciones.

La línea es esta:
$recipients_separated = implode(",", $this->recipients);

Aparte de eso, los mensajes sólo llegan a uno de los emails, y no el que corresponde. Un desastre en verdad.

Entiendo que ayudarme es difícil, si alguien sabe que puede estar pasando, le agradecería mucho.
  #5 (permalink)  
Antiguo 07/05/2010, 09:10
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 8 meses
Puntos: 77
Respuesta: Enviar email dependiendo del checkbox.

Bueno el error es claro, le estas pasando argumento invalido a implode(). Que contiene $this->recipients?
  #6 (permalink)  
Antiguo 07/05/2010, 10:12
 
Fecha de Ingreso: septiembre-2008
Mensajes: 32
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Enviar email dependiendo del checkbox.

Disculpa, no sé a que te refieres, no construí la página y de php entiendo casi nada.
No he podido dar con la solución, y por cuestiones de tiempo voy a aplicar otra, un formulario para cada email... gracias a todos por su ayuda de todos modos!

Etiquetas: checkbox, dependiendo, email, enviar
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:32.