Estoy leyendome un libro de PHP, y ha entrado en el tema de los formularios y lo primero que enseña es a pasar valores a través de la super-global $_GET.
Todo muy bonito, pero hay algo que me falla en el ejercicio y es lo siguiente. Imaginaos un formulario normal que pide una serie de datos, como este:
Código:
y luego tenemos el siguiente código que recibe los datos:<p>Introduzca sus datos personales:</p> <form name="formulario" method="GET" action="formulario2.php"> <table width="50%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="24%">Nombre</td> <td width="76%"><input name="nombre" type="text" id="nombre"></td> </tr> <tr> <td>Apellidos</td> <td><input name="apellidos" type="text" id="apellidos"></td> </tr> <tr> <td>Correo</td> <td><input name="correo" type="text" id="correo"></td> </tr> <tr> <td>Estado civil </td> <td><select name= "estado" id= "estado"> <option value="Soltero">Soltero</option> <option value="Casado">Casado</option> </select></td> </tr> <tr> <td>Número hijos </td> <td> 0 <input name="hijos" type="radio" value="0" checked> 1 <input name="hijos" type="radio" value="l"> 2 <input name="hijos" type="radio" value="2"> </tr> <tr> <td>Gustos</td> <td> Informática <input type="checkbox" name="gustos[]" value="Informática"> Buceo <input type="checkbox" name="gustos[]" value="Buceo"> Magia <input type="checkbox" name="gustos[]" value="Magia"> Jazz <input type="checkbox" name="gustos[]" value="Jazz"></td> </tr> <tr> <td><input type="submit" name="Submit" value="Enviar"></td> </tr> </table> </form>
Código:
Se recibe todo perfectamente, menos los datos del checkbox Gustos, donde lo único que recibo es el valor Array y si le quito los corchetes a la variable, tan sólo recibo un valor de los que activo.<?php foreach ($_GET as $indice => $valor) { echo "$indice: $valor<br/>"; } ?>
¿Cómo se soluciona esto?
Un saludo y gracias por todo.