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:
Pero lógicamente no funciona.$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);
¿Sabéis alguna manera de poder enviar mediante este formulario, las diferentes opciones que el usuario pueda seleccionar?
Gracias y saludos.