Enviar opcion del select por php

  • Autor Autor InesM
  • Fecha de inicio Fecha de inicio
I

InesM

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola a todos.
Estoy dando los últimos toques a un formulario y me he encontrado con una duda que no consigo resolver.
Dentro del formulario (html) tengo un select simple con el siguiente código:
HTML:
<div class="controls">
    <select id="mi_select" name="mi_select" class="span12">
      <option value="Departament">Select Department</option>
      <option value="General">General</option>
      <option value="Commercial">Commercial</option>
      <option value="Sales">Sales</option>
      <option value="Commercial">Deposit</option>
      <option value="Sales">Withdraw</option>
     </select>
</div>

Ahora bien, cuando hago el envío por php llegan al correo todos los datos extraídos menos la selección del select.

Este es mi código php:
PHP:
<?php

 if(!empty($_POST['firstname']) AND 
 !empty($_POST['lastname']) AND 
 !empty($_POST['useremail']) AND
 !empty($_POST['usermessage'])){

$to ="xxxxxxxxxxxxxxxxx@gmail.com";
$headers = "Content-Type: text/html; charset=iso-8859-1\n"; 
$headers .= "From:".$_POST['firstname']."\r\n";			
$tema="Contact from website";
$mensaje="
<table border='0' cellspacing='2' cellpadding='2'>

  <tr>
    <td width='20%' align='center' bgcolor='#FFFFCC'><strong>Firstname:</strong></td>
    <td width='80%' align='left'>$_POST[firstname]</td>
  </tr>
  <tr>
    <td width='20%' align='center' bgcolor='#FFFFCC'><strong>Lastname:</strong></td>
    <td width='80%' align='left'>$_POST[lastname]</td>
  </tr>
  <tr>
    <td width='20%' align='center' bgcolor='#FFFFCC'><strong>Email:</strong></td>
    <td width='80%' align='left'>$_POST[useremail]</td>
  </tr>
  <tr>
    <td align='center' bgcolor='#FFFFCC'><strong>Departament:</strong></td>
    <td align='left'>$_POST[mi_select]</td>
	
  </tr>
  
  <tr>
    <td align='center' bgcolor='#FFFFCC'><strong>Message:</strong></td>
    <td align='left'>$_POST[usermessage]</td>
  </tr>
  
</table>
";
@mail($to,$tema,$mensaje,$headers); 
echo "<META HTTP-EQUIV='Refresh' CONTENT='0;URL=../contact-send.html'>";
} else {
	echo "<META HTTP-EQUIV='Refresh' CONTENT='0;URL=../contact-error.html'>";
}



?>
¿Qué estoy haciendo mal?
He probado con $_REQUEST pero tampoco ha servido.

Un saludo.
 
Última edición:
Me imagino que esta dentro de las etiquetas form

Enviado desde mi HUAWEI Y511-U251 mediante Tapatalk
 
Si, por supuesto. El formulario está correcto. Me llega toda la información, excepto la del select.

---------- Post agregado el 26-ene-2014 hora: 15:48 ----------

He puesto aquí solo el código del select, porque es del que tengo la duda, pero si lo necesitas puedo ponerte el código de todo el formulario y el de la validación js.

---------- Post agregado el 26-ene-2014 hora: 16:15 ----------

Cuando me llega el mensaje con los datos del formulario en lugar de aparecer la opción que había marcado en el select aparece la palabra Array.

Firstname: Inés
Lastname: MCh
Email: xxxxxxxx@gmx.es
Departament: Array
Message: Prueba
 
Seria bueno que le pusieras el bbcode para code no me gusta leer de codigo de esta forma.
 
El codigo lo veo bien, detalle seria cambiar:

PHP:
$_POST[campo]  por  ".$_POST['campo']."

//Probar con var_dump haber que datos te esta tomando, agregandolo justo antes de la validacion if

var_dump($_POST); 
exit; // para que no se siga ejecutando el codigo
 
Genial, cambie lo que me dijiste y no mi hizo falta utilizar el var_dump.
Muchísimas gracias. ¡Eres un hacha!
 
Atrás
Arriba