Clase PHP para crear formularios básicos de emergencia (expandible)
Autor: Alejandro Alvarez

Actualización: Nueva versión 0.5

PHP:
  1. <?
  2. /*******************************************************/
  3. /* Formulario_rapido 0.1, es una clase PHP para crear  */
  4. /* formularios de emergencia (ver ejemplo)             */
  5. /* Fecha de creación: Domingo, 7 de Enero de 2007      */
  6. /* Creado por: Alejandro Alvarez Ortiz (hieloverde)    */
  7. /*******************************************************/
  8.  
  9. class Formulario_rapido
  10. {
  11.     var $codigo_formulario;     // Bufer que contendra el codigo del formulario
  12.    
  13.     /* Formulario */
  14.     var $formulario='form name="[name]" method="[method]" action="[action]" onSubmit="[on_submit]"';
  15.     var $f_metodo;              // Metodo HTTP para enviar formulario "post" y "get"
  16.     var $f_accion;              // Destino de los datos
  17.     var $f_nombre;              // Nombre del formulario
  18.     var $f_al_enviar;           // Funcion javascript que se ejecuta antes de enviar el formulario
  19.    
  20.     /* Campos */
  21.     var $campo='input type="[type]" name="[name]" value="[value]"';
  22.     var $c_tipo;                // text, submit, checkbox
  23.    
  24.     /* Metodo constructor, incluye metodo, accion, nombre del formulario y accion de validacion
  25.     Ej: $ob->Formulario("post","prueba.php","mi_formulario","validacion()"); */   
  26.     function Formulario($_metodo='',$_accion='',$_nombre='',$_al_enviar='')
  27.     {       
  28.         $this->f_metodo=($_metodo!="")?$_metodo:"get";
  29.             $this->formulario=str_replace("[method]",$this->f_metodo,$this->formulario);           
  30.         $this->f_accion=($_accion!="")?$_accion:$_SERVER['PHP_SELF'];
  31.             $this->formulario=str_replace("[action]",$this->f_accion,$this->formulario);
  32.         $this->f_nombre=($_nombre!="")?$_nombre:rand(1000,2000);
  33.             $this->formulario=str_replace("[name]",$this->f_nombre,$this->formulario);
  34.         $this->f_al_enviar=($_al_enviar!="")?$_al_enviar:"";
  35.             $this->formulario=str_replace("[on_submit]",$this->f_al_anviar,$this->formulario);       
  36.            
  37.         $this->codigo_formulario="<".$this->formulario.">\r\n";
  38.     }
  39.    
  40.     /* Para poner un titulo al formulario (acepta formato html)
  41.     Ej: $ob->Titulo("<h1>Este es el titulo de mi formulario</h1>"); */   
  42.     function Titulo($_titulo)
  43.     {
  44.         $this->codigo_formulario.="<b>".$_titulo."</b><br>";   
  45.     }
  46.    
  47.     function Subtitulo($_subtitulo)
  48.     {
  49.         $this->codigo_formulario.="<br>".$_subtitulo."<br>";
  50.     }
  51.    
  52.     /* Para la creacion de todo tipo de campos, menos select
  53.     Ej: $ob->Campo("Campo 1 ","text","mi_campo","valor del campo"); */
  54.     function Campo($_etiqueta,$_tipo,$_nombre,$_valor='')
  55.     {
  56.         $_n_campo=$this->campo;
  57.         $_n_campo=str_replace("[type]",$_tipo,$_n_campo);   
  58.         $_n_campo=str_replace("[name]",$_nombre,$_n_campo);
  59.         $_n_campo=str_replace("[value]",$_valor,$_n_campo);
  60.        
  61.         $this->codigo_formulario.=$_etiqueta." <".$_n_campo."><br> \r\n";
  62.     }
  63.    
  64.     /* Para terminar el formulario y mostrarlo en pantalla
  65.     Ej: $ob->Cierra_formulario(); */   
  66.     function Cierra_formulario()
  67.     {
  68.         $this->codigo_formulario.="\r\n</form>\r\n";
  69.         echo $this->codigo_formulario;
  70.     }   
  71. }
  72.  
  73. /* Ejemplo: creando un formulario basico */
  74.  
  75. $f=new Formulario_rapido("get","prueba.php","mi_forma","return valida_formulario()");
  76. $f->Titulo("Mi formulario de prueba");
  77.  
  78. /* Campo de texto */
  79. $f->Subtitulo("Campo de texto");
  80. $f->Campo("Campo 1 ","text","mi_campo");
  81.  
  82. /* Radio */
  83. $f->Subtitulo("Radio");
  84. $f->Campo("Opcion 1 ","radio","opcion","1");
  85. $f->Campo("Opcion 2 ","radio","opcion","2");
  86. $f->Campo("Opcion 3 ","radio","opcion","3");
  87.  
  88. /* Checkbox */
  89. $f->Subtitulo("Checkbox");
  90. $f->Campo("Casilla 1","checkbox","casilla","marcada");
  91.  
  92. /* Submit */
  93. $f->Subtitulo("Submit");
  94. $f->Campo("","submit","enviar"," Enviar ");
  95.  
  96. $f->Cierra_formulario();
  97. ?>

Popularidad: 13%