Php 5.5 desarrollar un sitio web dinámico e interactivo

Page 124

24/4/2014

ENI Training - Libro online

Construir un formulario de forma dinámica Al igual que el resto de la página, la totalidad o parte de un formulario se puede construir de forma dinámica. En esta sección se abordan tres casos: generar todo el formulario; generar valores iniciales en los campos de entrada; generar una lista de opciones.

Generar todo el formulario Si existe una descripción del formulario de una forma u otra, es posible generar todo el formulario. En el siguiente ejemplo simplificado, se supone que se recupera (en un archivo, en una base de datos...) una descripción del formulario como una matriz de dos dimensiones: cada línea de la matriz contiene una descripción del campo en forma de matriz con el título, el tipo, el nombre y el valor. <?php // Matriz que contiene la descripción del formulario. $formulario = array( array(’Apellido: ’,’text’,’apellido’,’HEURTEL’), array(’’,’submit’,’ok’,’OK’) ); // Generación del formulario mediante un bucle // en la matriz. echo ’<form action="entrada.php" method="POST">’; foreach($formulario as $campo) { echo "$campo[0]<input type=\"$campo[1]\" ", "name=\"$campo[2]\" value=\"$campo[3]\"><br />"; } echo ’</form>’; ?> Resultado en pantalla

Resultado en el código fuente de la página del navegador (todo está en una línea) <form action="entrada.php" method="POST">Apellido: <input type="text" name="apellido" value="HEURTEL"><br /><input type="submit" name="ok" value="OK"><br /></form>

Generar valores iniciales en los campos de entrada Ya hemos hablado de esta posibilidad en diferentes ejemplos. Ejemplo <form action="entrada.php" method="POST"> Apellido: <input type="text" name="apellido" value="<?php echo $apellido?>"><br /> <input type="submit" name="ok" value="OK"> </form> http://www.eni-training.com/client_net/mediabook.aspx?idR=85148

www.FreeLibros.me

1/4


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.