Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Nota: Para seleccionar varios elementos de un campo select mltiple, tenemos que utilizar el botn de "control" e ir pulsando cada
uno de los elementos que deseamos seleccionar. Es importante que este punto quede claro para los visitantes de vuestras pginas, ya
que es muy habitual que los usuarios no sepan manejar este tipo de campos.
Para ver mejor lo que deseamos hacer, es muy interesante entrar la pgina que contiene el ejemplo en
funcionamiento. Para continuar, echemos un vistazo al siguiente ejemplo...
Tenemos este formulario en nuestra pgina y queremos recoger los datos introducidos por el usuario.
Para los campos "nombre", "apellidos" y "email" no tenemos ningn tipo de problema, recogemos los
datos por el mtodo habitual, es decir:
<?php
echo "Nombre: ". $_POST["nombre"];
echo "<br>Apellidos: ". $_POST["apellidos"];
echo "<br>E-mail: ". $_POST ["email"];
?>
<?php
echo "Nombre: ". $_POST["nombre"];
echo "<br>Apellidos: ". $_POST["apellidos"];
echo "<br>E-mail: ". $_POST ["email"];
$cervezas=$_POST["cerveza"];
//recorremos el array de cervezas seleccionadas. No olvidarse q la primera posicin de un array es
la 0
for ($i=0;$i<count($cervezas);$i++)
{
echo "<br> Cerveza " . $i . ": " . $cervezas[$i];
}
?>
Nota: Al ponerle este tipo de nombres (terminando en corchete) a un campo de un formulario y si usamos funciones Javascript para
validarlos, manejarlos, etc... debemos aadir a dicho campo, adems del nombre, el atributo de HTML id y utilizar este ltimo como
identificador del campo, en vez del nombre que se haya colocado en el atributo name, puesto que dara problemas.
El cdigo completo de este ejemplo podra ser el siguiente. Sera bueno fijarse que hemos colocado todo
el cdigo en un archivo PHP. Ese cdigo tiene un formulario reentrante, es decir, la pgina se llama a si
misma para procesar el formulario. Recordar que puede verse este ejemplo en funcionamiento en una
pgina aparte.
<?
if (!$_POST){
?>
<form action="select_multiple.php" method="POST">
Nombre: <input type="text" name="nombre"><br>
Apellidos: <input type="text" name="apellidos"><br>
Email: <input type="text" name="email"> <br>
Cerveza: <br>
<select multiple name="cerveza[]">
<option value="SanMiguel">San Miguel</option>
<option value="Mahou">Mahou</option>
<option value="Heineken">Heineken</option>
<option value="Carlsberg">Carlsberg</option>
<option value="Aguila">Aguila</option>
</select><br>
<input type="submit" value="Enviar datos!" >
</form>
<?
}else{
for ($i=0;$i<count($cervezas);$i++)
{
echo "<br> Cerveza " . $i . ": " . $cervezas[$i];
}
}
?>