send
Grupo de Telegram
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

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

  • 1 Respuestas
  • 1005 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado godmurdoc

  • *
  • Underc0der
  • Mensajes: 31
  • Actividad:
    0%
  • Reputación 0
  • viviendo el under dia a dia
    • Ver Perfil
    • Email
« en: Agosto 03, 2011, 01:22:15 am »
Las funciones que se explican en este artículo se encuentran en la siguiente dirección You are not allowed to view links. Register or Login. El código puede ser cambiado, mejorado y distribuido libremente. Ha sido programado totalmente por Jose Carlos García de Distintiva Solutions (You are not allowed to view links. Register or Login).

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

Código: PHP
  1. <select name="edad">
  2.         <option value=0>Seleccione</option>
  3.         <option value=1>Entre 0-18</option>
  4.         <option value=2>Entre 19-30</option>
  5.         <option value=3>Entre 31-50</option>
  6.         <option value=4>Más de 50</option>
  7. <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:

Código: PHP
  1. frm_select($name, $arr_txt, $arr_vals, $default='', $extra_tag='')
  2.  

Código: PHP
  1. $name = Nombre del elemento del formulario
  2. $arr_txt = Array con los textos a mostrar
  3. $arr_vals = Array con los valores asociados a cada texto
  4. $default= [opcional] si se indica el valor aparecerá preseleccionado dicha opción
  5. $extra_tag= [opcional] por si necesitamos incluir información adicional al select, como por ejemplo $extra_tag=” class=cssazul ” o $extra_tag=” onChange=alert()”
  6.  
  7. Ejemplo:
  8. $arr_txt=array(‘españa’, ‘portugal’, ‘francia’);
  9. $arr_vals=array(‘ES’, ‘PT’, FR’);
  10. <?=frm_select (‘paises’, $arr_txt, $arr_vals) ?>
  11.  
  12.  

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:

Código: PHP
  1. <?=frm_select (‘paises’, $arr_txt, $arr_vals, $_POST[‘paises’]) ?>
  2.  
(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:
Código: PHP
  1. frm_list($name,$size, $arr_txt, $arr_vals, $default='', $extra_tag='')
  2.  

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:

Código: PHP
  1. frm_list_multi($name, $size, $arr_txt, $arr_vals, $default='', $extra_tag='')
  2.  

... 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:

Código: PHP
  1. frm_check($name, $ck_val, $var_in='', $extra_tag='')
  2.  

Código: PHP
  1. $name= Nombre del campo
  2. $ck_val= Valor que se enviará cuando esté seleccionado
  3. $var_in=[opcional] Funciona como el $default y permitirá que se muestre checkeado
  4.  
  5. Ejemplo:
  6. Se muestra un checkbox que se mantiene seleccionado entre posts del formulario
  7. <?= frm_check(‘fumador’, ‘SI’, $_POST[‘fumador’])?>
  8.  

<RADIO>
En este caso para mostrar radiobuttons se hace exactamente como el caso anterior pero con la siguiente función:

Código: PHP
  1. frm_radio($name, $val, $var_in='', $extra_tag='')
  2.  

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

Código: PHP
  1. frm_text($name, $val, $size, $max_length, $extra_tag='')
  2.  

Código: PHP
  1. $name = Nombre del campo
  2. $val = Valor o texto que se mostrará (funciona como el $default de las otras funciones)
  3. $size = Tamaño del campo de texto
  4. $max_length = Longitud máxima permitida
  5.  

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

Código: PHP
  1. frm_password($name, $val, $size, $max_length, $extra_tag='')
  2.  
  3.  

You are not allowed to view links. Register or Login

bye
« Última modificación: Marzo 27, 2014, 05:56:44 pm por Expermicid »

Desconectado ~ Yoya ~

  • *
  • Underc0der
  • Mensajes: 149
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« Respuesta #1 en: Agosto 03, 2011, 12:35:01 pm »
Buen aporte, aunque si hicieras ejemplos con resultados fuera mejor.

Muchos Frameworks, como puede ser CakePHP. Usan un sistema similar para generar Formularios, CakePHP tiene un Helper para crear formularios.

Saludos.
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

 

¿Te gustó el post? COMPARTILO!



ErrorClass Clase que te permite generar errores

Iniciado por alexander1712

Respuestas: 0
Vistas: 800
Último mensaje Octubre 09, 2013, 03:27:18 pm
por alexander1712
Los Errores mas Comunes al programar en PHP

Iniciado por Flemon

Respuestas: 5
Vistas: 2240
Último mensaje Octubre 29, 2012, 09:41:17 pm
por alexander1712
Tutorial Formularios POST-GET con Arrays predifinidos.

Iniciado por Matabarras

Respuestas: 0
Vistas: 1004
Último mensaje Noviembre 24, 2012, 12:44:42 pm
por Matabarras
Formularios más seguros con sistema CAPTCHA

Iniciado por Pa531no5

Respuestas: 3
Vistas: 1545
Último mensaje Junio 28, 2010, 05:01:49 pm
por 303010