Comunidad de diseño web y desarrollo en internet online

Formulario a diferentes direcciones

Citar            
MensajeEscrito el 18 Feb 2013 07:44 pm
Buenas:
tengo un formulario en HTML, con su respectivo PHP. Funciona todo perfecto, tengo una sóla duda: cómo puedo hacer para que el formulario vaya a diferentes direcciones según el departamento que se escoge.
Dicho de otro modo: Cada departamento tiene que tener asignado una dirección de correo, y según el ques e elige, el formulario llega a esa dirección y no a los demás.

Muchas Graciass de antemano!


Aquí el HTML

Código HTML :

<body><form action="enviar.php" method="post" enctype="multipart/form-data">

<table width="633" height="298" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td width="19" bgcolor="#66CCFF">&nbsp;</td>
    <td width="201" align="left" valign="middle" bgcolor="#66CCFF"><p class="style2">Nombre y apellido:</p></td>
    <td width="397" align="left" valign="middle" bgcolor="#66CCFF"><label>
      <input type="text" name="nombre" id="nombre" />
    </label></td>
    <td width="14">&nbsp;</td>
  </tr>

  <tr>
    <td width="19" bgcolor="#66CCFF">&nbsp;</td>
    <td width="201" align="left" valign="middle" bgcolor="#66CCFF"><p class="style2">Dirección de mail</p></td>
    <td width="397" align="left" valign="middle" bgcolor="#66CCFF"><label>
      <input type="text" name="mail" id="mail" />
    </label></td>
    
    <td width="14">&nbsp;</td>
  </tr>
  <tr>
    <td width="19" bgcolor="#66CCFF">&nbsp;</td>
    <td width="201" align="left" valign="middle" bgcolor="#66CCFF"><p class="style2">Teléfono</p></td>
    <td width="397" align="left" valign="middle" bgcolor="#66CCFF"><label>
      <input type="text" name="tel" id="tel" />
    </label></td>
    
    <td width="14">&nbsp;</td>
  </tr>
  <tr>
    <td bgcolor="#58b8e8">&nbsp;</td>
    <td align="left" valign="middle" bgcolor="#58b8e8" class="style2"><p><span class="style4"></span>Departamento</p></td>
    <td align="left" valign="middle" bgcolor="#58b8e8"><label>
      <select name="opcion" id="opcion">
        <option value="opc2">Comercial</option>
        <option value="opc3">Reclamos </option>
        <option value="opc4">Atención al cliente</option>
        <option value="opc5">RRHH</option>
      </select>
    </label></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td bgcolor="#66CCFF">&nbsp;</td>
    <td align="left" valign="middle" bgcolor="#66CCFF" class="style2"><p><span class="style4"></span>Escriba su comentario: </p></td>
    <td align="left" valign="middle" bgcolor="#66CCFF"><label>
      <textarea name="comentario" id="comentario" cols="45" rows="5"></textarea>
    </label></td>
    <td>&nbsp;</td>
  </tr>
 
  <tr>
    <td bgcolor="#66CCFF">&nbsp;</td>
    <td align="right" valign="middle" bgcolor="#66CCFF" class="style2"><p><span class="style4"></span>
      <input type="submit" name="enviar" id="enviar" value="Enviar" />
    </p></td>
    <td align="left" valign="middle" bgcolor="#66CCFF"><label>
      <input type="reset" name="borrar" id="borrar" value="borrar" />
    </label></td>
    <td>&nbsp;</td>
  </tr>
</table>
</form>
</body>


Aquí el PHP

Código PHP :

<?php
function form_mail($sPara, $sAsunto, $sTexto, $sDe)
{
$bHayFicheros = 0;
$sCabeceraTexto = "";
$sAdjuntos = "";

if ($sDe)$sCabeceras = "From:".$sDe."\n";
else $sCabeceras = "";
$sCabeceras .= "MIME-version: 1.0\n";
foreach ($_POST as $sNombre => $sValor)
$sTexto = $sTexto."\n".$sNombre." = ".$sValor;

foreach ($_FILES as $vAdjunto)
{
if ($bHayFicheros == 0)
{
$bHayFicheros = 1;
$sCabeceras .= "Content-type: multipart/mixed;";
$sCabeceras .= "boundary=\"--_Separador-de-mensajes_--\"\n";

$sCabeceraTexto = "----_Separador-de-mensajes_--\n";
$sCabeceraTexto .= "Content-type: text/plain;charset=iso-8859-1\n";
$sCabeceraTexto .= "Content-transfer-encoding: 7BIT\n";

$sTexto = $sCabeceraTexto.$sTexto;
}
if ($vAdjunto["size"] > 0)
{
$sAdjuntos .= "\n\n----_Separador-de-mensajes_--\n";
$sAdjuntos .= "Content-type: ".$vAdjunto["type"].";name=\"".$vAdjunto["name"]."\"\n";;
$sAdjuntos .= "Content-Transfer-Encoding: BASE64\n";
$sAdjuntos .= "Content-disposition: attachment;filename=\"".$vAdjunto["name"]."\"\n\n";

$oFichero = fopen($vAdjunto["tmp_name"], 'r');
$sContenido = fread($oFichero, filesize($vAdjunto["tmp_name"]));
$sAdjuntos .= chunk_split(base64_encode($sContenido));
fclose($oFichero);
}
}

if ($bHayFicheros)
$sTexto .= $sAdjuntos."\n\n----_Separador-de-mensajes_----\n";
return(mail($sPara, $sAsunto, $sTexto, $sCabeceras));
}

//cambiar aqui el email
if (form_mail("[email protected]", "Contacto desde la Web",
"Los datos introducidos en el formulario son:\n\n", "[email protected]"))
echo "Su formulario ha sido enviado con exito <meta http-equiv='refresh' content='2; url=index.html' >";
?>
</body>
</html>

Por candediez

18 de clabLevel



 

chrome
Citar            
MensajeEscrito el 19 Feb 2013 12:38 am
lee la variable $_POST['opcion`] y verifica con un "while" su valor, según el valor guardas en otra variable el correo al que será dirigido.

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

chrome
Citar            
MensajeEscrito el 19 Feb 2013 01:01 am
Gracias Nacho por responder.
Para serte sincera, no sabría como aplicar lo que me estás diciendo, entiendo muy poco de php. Perdona que abuse de tu amabilidad, pero podrías indicarme por favor cómo se pone eso?
gracias nuevamente!

Por candediez

18 de clabLevel



 

chrome
Citar            
MensajeEscrito el 19 Feb 2013 06:00 am
jeje me confundí, no es "while"... es con "switch"

Código PHP :

switch ($_POST['opcion']) { //es el nombre del menú para departamentos
    case 'opc2':
        $email = 'correo para comercial';
        break;
    case 'opc3':
        $email = 'correo para reclamos';
        break;
    case 'opc4':
       $email = 'correo para atención al cliente';
        break;
    case 'opc5':
        $email = 'correo para rrhh';
        break;
}

en la variable $email tienes el correo del departamento que eligen.

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

chrome

 

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