La gestión de formularios es una de las mejores características de PHP. La combinación de HTML para construir formularios, PHP para gestionar datos y MySQL para almacenarlos son una de las tareas mas eficientes.
Nunca use datos sin filtrar en una consulta a BD. Siempre use NAME para cada elemento, al enviar se convertiran en variables. Use VALUE para establecer valores predeterminados.
Etiqueta | Descripción |
---|---|
Form | Debe tener Method (GET o POST) y puede tener Action y accept-charset. |
Input | Con Type se determina su formato: submit, text, checkbox, radio, password, hidden, URL, number, range, file, image, datetime, color, etc. Recuerdo siempre determinar Name. |
Button | Con Type se determina el formato: button, submit, etc |
Label | Define una etiqueta para los botones type=input. |
Select | Define una lista desplegable. |
Textarea | Use optiman para determinar las opciones. SELECTED para el seleccionado. |
Keygen | Para facilitar la generación de claves de certificados. |
Puede crear el formulario en HTML y la gestión de datos en un script PHP separado asociado con ACTION.
El método GET pasa argumentos de una pagina a la siguiente como parte de la URL, en formato de pares tipo nombre=valor separando el primero con ? y los siguientes con &.
<Form Method=GET accept-charset='UTF-8'>
Cuidado cuando se usa GET, los datos del formulario enviado serán visibles con la URL de la página
Es el método preferido de envío de formularios porque los pares de valores no son visibles.
<Form Method=POST accept-charset='UTF-8'>
Se llama asi cuando el mismo script contiene el formulario y su gestión de datos.
Recuerde que la lógica siempre estará antes que la visualización. Es recomendable usar el botón type=SUBMIT como variable de nivel.
Puede recuperar los datos enviado mediante el método GET o POST con $_REQUEST[]
if (isset($_REQUEST['reg'])) { $reg = $_REQUEST['reg']; }
Muchas veces recuperamos las opciones de un registro y luego tenemos que seleccionar (SELECTED) la opción adecuada. Una solucion es ir preguntando si se leigio esa opcion miestras construimos el formulario asi:
<select name=cat id=cat> <option value=H5 <?PHP if ($cat == 'H5'){echo ´ SELECTED´};?> >Hotel 5 <option value=H4 <?PHP if ($cat == 'H4'){echo ´ SELECTED´};?> >Hotel 4 <option value=H3 <?PHP if ($cat == 'H3'){echo ´ SELECTED´};?> >Hotel 3 <option value=H2 <?PHP if ($cat == 'H2'){echo ´ SELECTED´};?> >Hotel 2 <option value=H1 <?PHP if ($cat == 'H1'){echo ´ SELECTED´};?> >Hotel 1 <option value=NC <?PHP if ($cat == 'NC'){echo ´ SELECTED´};?> >No clasificado </select>
Pero una solución mucho mas eficiente es usar jQuery asi:
<select name=cat id=cat> <option value=H5>Hotel 5 <option value=H4>Hotel 4 <option value=H3>Hotel 3 <option value=H2>Hotel 2 <option value=H1>Hotel 1 <option value=NC>No clasificado </select> <!-- Selecciono la opción adecuada del select --> <Script>$('#cat option[value=<?PHP echo $cat; ?>]').attr('selected',true);</Script>