Foros del Web » Programando para Internet » PHP »

Formulario PHP elegir destinatario

Estas en el tema de Formulario PHP elegir destinatario en el foro de PHP en Foros del Web. Hola a tod@s, Escribo para intentar resolver un problemilla que estoy teniendo. Sé algo de programación porque anteriormente les he hecho una web con un ...
  #1 (permalink)  
Antiguo 04/04/2012, 15:57
 
Fecha de Ingreso: julio-2011
Mensajes: 3
Antigüedad: 13 años, 4 meses
Puntos: 0
Formulario PHP elegir destinatario

Hola a tod@s,

Escribo para intentar resolver un problemilla que estoy teniendo. Sé algo de programación porque anteriormente les he hecho una web con un formulario de contacto a unos amigos, y ahora me ha tocado otra vez.
El problema es que el formulario de contacto que me pide es que el usuario pueda elegir entre varios destinatarios.
He buscado por miles de foros y generadores de código, pero me ha sido imposible que funcinase.
Os copio el código html del formulario y el send.php , en el que no sé donde he de incrustar el envio a varios destinatarios.
Espero que podáis echarme un cable. Gracias

Código HTML:
 <form id="ContactForm" action="enviado.php">
						<div class="wrapper pad_bot1">
                        <table width="555" cellspacing="15">
  <tr>
    <td width="188">Nombre:</td>
    <td width="316"><label for="Nombre"></label>
      <input name="Nombre" type="text" class="input" id="Nombre" maxlength="50"></td>
  </tr>
  <tr>
    <td>Teléfono</td>
    <td><label for="telefono"></label>
      <input name="telefono" type="text" class="input" id="telefono" size="9" maxlength="9"></td>
  </tr>
  <tr>
    <td>Email:</td>
    <td><label for="mail"></label>
      <input name="mail" type="text" class="input" id="mail" size="30" maxlength="30"></td>
  </tr>
  <tr>
    <td>Consulta</td>
    <td><label for="consulta"></label>
      <textarea name="consulta" cols="50" rows="5" class="textarea" id="consulta"></textarea></td>
  </tr>
  <tr>
    <td>¿ Con quien desea contactar ?</td>
    <td><label for="destinatario"></label>
      <select name="destinatario" size="1" id="seleccionservicios">
        <option selected> </option>
        <option value="1">Consulta general</option>
        <option value="2">Logopeda</option>
        <option value="3">Psicóloga Infantil</option>
        <option value="4">Psicóloga Adultos</option>
        <option value="5">Pedagoga</option>
      </select></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><div class="wrapper">
			<a href="#" class="button" onClick="document.getElementById('ContactForm').submit()"><span><span>Enviar</span></span></a>
								<a href="#" class="button marg_right1" onClick="document.getElementById('ContactForm').reset()"><span><span>Borrar</span></span></a>
							</div> 


Y el send.php que hice en la otra web pero modificado para esta nueva web y funciona correctamente, pero nosé como dar la opción del select.

Código PHP:
<?php
//Variables.

$user_Nombre $_POST['Nombre'];
$user_telefono $_POST['telefono'];
$user_email $_POST['email'];
$user_consulta$_POST['consulta'];

//Cuerpo del email que se te enviará.
$body_mail "Hola, alguien ha enviado una consulta. Aquí los detalles...

Nombre: $user_Nombre
telefono: $user_telefono
Email: $user_email

Motivo de consulta: $user_consulta



mail('¿son varios destinatarios?','Mensaje de Consulta',"
$body_mail","from:www.laweb.com");
echo "
Tu mensaje ha sido enviado correctamentemuchas graciasLe atenderemos lo más pronto posible</font></font><br /><br />";
echo "
<a href='index.html'>  Volver a Inicio  </a>"; 

?>

¿Donde introduciría el valor de la lista desplegable para que se envie al destinatario que elija el usuario??

s.os
  #2 (permalink)  
Antiguo 04/04/2012, 16:07
Avatar de unreal4u  
Fecha de Ingreso: octubre-2008
Mensajes: 72
Antigüedad: 16 años
Puntos: 10
Respuesta: Formulario PHP elegir destinatario

Primero necesitas rescatar el input y luego, lo más seguro sería hacer un switch donde estableces los valores, algo así como esto:

Código PHP:
switch($_POST['destinatario']) {
  case 
1
    
$mail '[email protected]';
    break;
  case 
2
    
$mail '[email protected]';
    break;
  
// etc...
  
default: 
    
$mail '';
    break;
}

if (!empty(
$mail)) {
  
mail($mail'blabla');

Saludos.
  #3 (permalink)  
Antiguo 04/04/2012, 16:09
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 15 años, 4 meses
Puntos: 641
Respuesta: Formulario PHP elegir destinatario

Lee la documentación de mail()

http://php.net/manual/es/function.mail.php

solo debes capturar por post el destinatario del select

Código PHP:
Ver original
  1. $destino = $_POST['destinatario'];
como solo tienes numeros puedes usar switch para enviar de acuerdo al numero

Código PHP:
Ver original
  1. switch($destino){
  2.     case: 1
  3.         $para = '[email protected]';
  4.     break
  5. }

Código PHP:
Ver original
  1. // Send
  2. mail($para, 'Mi título', $mensaje);
  #4 (permalink)  
Antiguo 05/04/2012, 09:22
 
Fecha de Ingreso: julio-2011
Mensajes: 3
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Formulario PHP elegir destinatario

Bueno muchísimas gracias a todos. Ahora mismo voy a intentar hacer lo que me decir. Probaré con Post y switch. GRACIAS EN SERIO.
Os comentaré como vá.
  #5 (permalink)  
Antiguo 05/04/2012, 14:30
 
Fecha de Ingreso: julio-2011
Mensajes: 3
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Formulario PHP elegir destinatario

Ya lo he conseguido. Muchísimas gracias por vuestros aportes. mediante condicionales he conseguido que el mail se envie en función del destinatario que elija el usuario.A ver que os parece. Funciona perfectamente. También decidí usar un mensaje de respuesta por si el usuario no rellena el campo de destino, para que esté obligado a hacerlo. De nuevo, muchísimas gracias por vuestra ayuda y consejos.
os dejo el código por si puede ser de ayuda a otros:

Código PHP:
<?php

//Variables.

$user_Nombre $_POST['Nombre'];
$user_telefono $_POST['telefono'];
$user_mail $_POST['mail'];
$user_consulta $_POST['consulta'];
$destino $_POST['destinatario'];

    switch(
$destino){
      case 
:
            
$para '[email protected]';
        break;
      case 
:
            
$para '[email protected]';
        break;
      case 
:
            
$para '[email protected]';
        break;
      case 
:
            
$para '[email protected]';
        break;  
      case 
:
            
$para '[email protected]';
        break;  

    }

//Cuerpo del email que se te enviará.
$body_mail "Hola , alguien ha enviado una consulta. Aquí los detalles...

Nombre: $user_Nombre
telefono: $user_telefono
Email: $user_mail

Motivo de consulta: $user_consulta"
;

    
// En la variable $para, se almacena en cada caso el destinatario correspondiente,
    // que es seleccionado por el usuario.
    //Send.
    
if (!empty($para)) {
    
mail($para,'Mensaje de Consulta',"$body_mail","from:www.nombredelaweb.es");
     echo 
"Tu mensaje ha sido enviado correctamente, muchas gracias. Le atenderemos lo más pronto posible</font></font><br /><br />";
     echo 
"<a href='index.html'>  Volver a Inicio  </a>";  
    }
    else {
        echo 
"Debe rellenar todos los campos. <br />";
        echo 
"<a href='contacto.html'>  Vuelva al formulario  </a>"
    }
        
?>
  #6 (permalink)  
Antiguo 01/05/2013, 00:48
 
Fecha de Ingreso: mayo-2005
Mensajes: 4
Antigüedad: 19 años, 5 meses
Puntos: 0
Respuesta: Formulario PHP elegir destinatario

Gracias por compartir este codigo, en verdad no saves lo dificil que fue encontrarlo en la red.
llevo 1 semana entera buscando y buscando hasta que lo encontre.
espero poder adaptarlo a mi formulario....
soy completamente nuevo en eso de php. aver que tal m ekeda.

Saludos y GRacias......
Atte:
Poncho G.C.

Etiquetas: elegir, formulario, html, variables, usuarios
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 06:37.