Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/01/2005, 10:02
fermars
 
Fecha de Ingreso: diciembre-2003
Ubicación: Madrid
Mensajes: 10
Antigüedad: 20 años, 3 meses
Puntos: 0
Información formulario con select multiple por mail

Hola a tod@s,

He construido un formulario en el que hay un campo de tipo select. En HTML, puedes seleccionar las opciones que quieras aplicando "multiple" a select. Pero en PHP, como sabéis, sólo se envía la última selección.
Esto se resuelve fácilmente con un script como:

Código:
<form action="form.php" method="POST">   
Nombre: <input type="text" name="nombre"><br>   
Apellidos: <input type="text" name="apellidos"><br>   
Email: <input type="text" name="email"> <br>   
Opciones: <br>   
<select multiple name="seleccion[]">    
<option value="1">1</option>    
<option value="2">2</option>    
<option value="3">3</option>    
<option value="4">4</option>    
<option value="5">5</option>   
...   
</select><br>   
<input type="submit" value="Enviar" > 
</form> 

.............

<?php 
echo "Nombre: ". $_POST["nombre"]; 
echo "<br>Apellidos: ". $_POST["apellidos"]; 
echo "<br>E-mail: ". $_POST ["email"]; 
$seleccion=$_POST["seleccion"]; 

for ($i=0;$i<count($seleccion);$i++)    
{     
echo "<br> Selección " . $i . ": " . $seleccion[$i];    
} 
?>


Donde conseguimos recuperar la seleccion. Sin embargo, el problema está a la hora de insertarlo en el mail. Lo tengo de la siguiente manera:

Código:
$destinatario = "[email protected]";
$asunto = "Este es el asunto";
$cuerpo = " sentencia 1";
$cuerpo .= "sentencia 2";
$cuerpo .= "sentencia 3";
$cuerpo .= "-->> aquí quiero insertar la selección <<--";
$headers = "From:[email protected]";

.....

mail($destinatario,$asunto,$cuerpo,$headers);
Pero lógicamente no funciona.
¿Sabéis alguna manera de poder enviar mediante este formulario, las diferentes opciones que el usuario pueda seleccionar?

Gracias y saludos.