image
Inicio » PHP » Art�culos sobre PHP » PHP Perfect Form Items v1.0 (Formularios sin errores)




PHP Perfect Form Items v1.0 (Formularios sin errores)

 
Por Jose Carlos Garc�a
Art�culos publicados: 1
Valoraci�n media: 3.65/5
Usuario desde: 11/12/2004

�Cu�ntas veces que hemos necesitado integrar c�digo PHP con elementos de formularios, hemos conseguido una mezcla de HTML y etiquetas <?php ?> disminuyendo la legibilidad del c�digo o haciendo que tengamos que escribir m�s lineas de la cuenta?

Con estas sencillas pero �tiles funciones podremos sin problemas emplazar campos a los formularios que dise�emos sin tantos quebraderos de cabeza.

Las funciones que se explican en este art�culo se encuentran en la siguiente direcci�n http://www.distintiva.com/jose/_perf_form/perf_form.zip. El c�digo puede ser cambiado, mejorado y distribuido libremente. Ha sido programado totalmente por Jose Carlos Garc�a de Distintiva Solutions (www.distintiva.com).

Empecemos con el ejemplo m�s dif�cil y el causante de que tuviera que programar estas funciones.

<SELECT>

Crear elementos de selecci�n <select></select>
Con php es muy habitual trabajar con arrays, ya sea con datos que nos proporcione una consulta SQL o simples valores.

Veamos un ejemplo en el que queremos mostrar un <select> para que el usuario seleccione su rango de edad:

<select name="edad">
	<option value=0>Seleccione</option>
	<option value=1>Entre 0-18</option>
	<option value=2>Entre 19-30</option>
	<option value=3>Entre 31-50</option>
	<option value=4>M�s de 50</option>
<select/>

Esto se complica cuando hay que hacerlo de forma din�mica ya que esta lista puede variar, para evitar tener que cambiar el HTML �a pelo� ya que necesitamos construir este fragmento de HTML con un bucle, etc.

Se complica a�n m�s cuando una opci�n debe estar preseleccionada.
La funci�n que nos salvar� la vida es:
frm_select($name, $arr_txt, $arr_vals, $default='', $extra_tag='')
$name = Nombre del elemento del formulario
$arr_txt = Array con los textos a mostrar
$arr_vals = Array con los valores asociados a cada texto
$default= [opcional] si se indica el valor aparecer� preseleccionado dicha opci�n
$extra_tag= [opcional] por si necesitamos incluir informaci�n adicional al select, como por ejemplo $extra_tag=� class=cssazul � o $extra_tag=� onChange=alert()�

Ejemplo:
$arr_txt=array(�espa�a�, �portugal�, �francia�);
$arr_vals=array(�ES�, �PT�, FR�);
<?=frm_select (�paises�, $arr_txt, $arr_vals) ?>

De esta forma cualquier modificaci�n s�lo hay que hacerla en los arrays sin alterar la parte visual.

A veces es conveniente conservar el valor de un campo del formulario entre llamadas o posts del mismo por ejemplo cuando estamos validando entradas y hay que volver al formulario para que rellene alg�n campo requerido. Para hacer esto de forma sencilla tan solo tenemos que usar el par�metro $default de la siguiente forma:

<?=frm_select (�paises�, $arr_txt, $arr_vals, $_POST[�paises�]) ?>
(o $_GET dependiendo el m�todo que usemos en nuestro formulario)

<SELECT> (tipo lista con varios elementos visibles)

Funciona exactamente igual que el anterior pero en este caso tenemos la t�pica lista de selecci�n con scroll mostrando X elementos.

La funci�n es:
frm_list($name,$size, $arr_txt, $arr_vals, $default='', $extra_tag='')

En este caso el nuevo par�metro es $size que indica cu�ntos elementos ser�n mostrados visiblemente en la lista.

<SELECT> (tipo lista con varios elementos visibles y con multiselecci�n)

Igual que el ejemplo anterior pero permitimos que el usuario seleccione uno o varios elementos de la lista con el CTRL+Click o SHIFT+Click

La funci�n es:
frm_list_multi($name, $size, $arr_txt, $arr_vals, $default='', $extra_tag='')

... Y tambi�n tenemos funciones correspondientes para los dem�s elementos de formulario aprovechando la capacidad de mantener el valor entre posts.

<CHECKBOX>

No hace falta decir para que sirven estos elementos. La funci�n es:
frm_check($name, $ck_val, $var_in='', $extra_tag='')
$name= Nombre del campo
$ck_val= Valor que se enviar� cuando est� seleccionado
$var_in=[opcional] Funciona como el $default y permitir� que se muestre checkeado

Ejemplo:
Se muestra un checkbox que se mantiene seleccionado entre posts del formulario
<?= frm_check(�fumador�, �SI�, $_POST[�fumador�])?>


<RADIO>

En este caso para mostrar radiobuttons se hace exactamente como el caso anterior pero con la siguiente funci�n:

frm_radio($name, $val, $var_in='', $extra_tag='')


<INPUT>

Permite mostrar cuadros de texto con las ventajas que voy ofreciendo en todas las funciones y para ello hay que usar:

frm_text($name, $val, $size, $max_length, $extra_tag='')
$name = Nombre del campo
$val = Valor o texto que se mostrar� (funciona como el $default de las otras funciones)
$size = Tama�o del campo de texto
$max_length = Longitud m�xima permitida


<PASSWORD>

El caso es exactamente como el anterior pero esta vez oculta el texto con asteriscos.

frm_password($name, $val, $size, $max_length, $extra_tag='')





Bio:
Jose Carlos Garc�a tiene gran experiencia en desarrollos de aplicaciones para diversas plataformas y tecnolog�as y coordinaci�n de equipos para puesta en marcha de grandes proyectos. Actualmente dirige el �rea de nuevas tecnolog�as de www.distintiva.com

Fecha publicaci�n: 11/12/2004


M�s art�culos

Valoraci�n

Este art�culo ha sido valorado 952 veces. Valor:  [3.65/5]   
Malo------>Normal----->Bueno
                   

Comentarios

A�adir un comentario

Si no est� de acuerdo con algo o quiere a�adir m�s informaci�n al respecto puede incluirla a�adiendo un comentario.

Nombre:
E-Mail: (opcional)
Los comentarios son moderados, no aparecen inmediatamente, son le�dos por el administrador y publicados seg�n el inter�s para otros lectores.

Se reserva el derecho de publicaci�n de los comentarios introducidos.

Colabora

�Te sientes capacitado para escribir un art�culo como este? �Te gustar�a colaborar escribiendo art�culos en WebEstilo? H�znoslo saber !!









Comparte



Enlaces
Cocina Facil IngenieroSoftware.com  
 
Valid HTML 4.01!
Última modificación:31 de Agosto de 2017. Spain - Espa�a.
© 1998-2004 por . Todos los derechos reservados.