Formulario rápido 0.5
Posted on March 6th, 2007 in Código, Php |
Nueva versión de la clase PHP para crear formularios de emergencia.
Mejoras desde la versión 0.1:
- Cambio del metodo "Subtitulo" por "Etiqueta"
- Formato del texto dentro del formulario por defecto: Verdana, 12px, negra
- Posibilidad de cambiar el formato del texto dentro del formulario
- Posibilidad de definir campos del tipo textarea
- Posibilidad de definir campos del tipo select
- Corrección de código
Autor: Alejandro Alvarez
PHP:
-
<?
-
/**********************************************************/
-
/* Formulario_rapido 0.5, es una clase PHP para crear */
-
/* formularios de emergencia (ver ejemplo) */
-
/* Fecha de creación: Domingo, 7 de Enero de 2007 */
-
/* Fecha de actualización: Viernes, 23 de Marzo de 2007 */
-
/* Creado por: A. Alejandro Alvarez Ortiz (hieloverde) */
-
/**********************************************************/
-
-
/*
-
Mejoras desde la versión 0.1:
-
- Cambio del metodo "Subtitulo" por "Etiqueta"
-
- Formato del texto dentro del formulario por defecto: Verdana, 12px, negra
-
- Posibilidad de cambiar el formato del texto dentro del formulario
-
- Posibilidad de definir campos del tipo textarea
-
- Posibilidad de definir campos del tipo select
-
- Corrección de código
-
*/
-
-
class Formulario_rapido
-
{
-
var $codigo_formulario; // Bufer que contendra el codigo del formulario
-
-
/* Formulario */
-
var $formulario='form name="[name]" method="[method]" action="[action]" onSubmit="[on_submit]"';
-
var $f_metodo; // Metodo HTTP para enviar formulario "post" ó "get"
-
var $f_accion; // Destino de los datos
-
var $f_nombre; // Nombre del formulario
-
var $f_al_enviar; // Funcion javascript que se ejecuta antes de enviar el formulario
-
-
/* Para el formato por defecto */
-
var $_f_tipo="Verdana";
-
var $_f_tamaño="12";
-
var $_f_color="#000000";
-
var $_formato;
-
-
/* Campos */
-
var $c_tipo; // text, checkbox, radio, textarea, select, submit
-
-
/* Metodo constructor, incluye metodo de envio, destino, nombre del formulario y accion de validación
-
Ej: $ob->Formulario_rapido("post","prueba.php","mi_formulario","validacion()"); */
-
function Formulario_rapido($_metodo='',$_accion='',$_nombre='',$_al_enviar='')
-
{
-
$this->_formato='style="font-family:'.$this->_f_tipo.'; font-size:'.$this->_f_tamaño.'; color:'.$this->_f_color.';"';
-
-
$this->f_metodo=($_metodo!="")?$_metodo:"get";
-
$this->f_accion=($_accion!="")?$_accion:$_SERVER['PHP_SELF'];
-
$this->f_al_enviar=($_al_enviar!="")?$_al_enviar:"";
-
}
-
-
function Formato($_fuente_tipo='',$_fuente_tamaño='',$_fuente_color='')
-
{
-
$this->_f_tipo=($_fuente_tipo!="")?$_fuente_tipo:$this->_f_tipo;
-
$this->_f_tamaño=($_fuente_tamaño!="")?$_fuente_tamaño:$this->_f_tamaño;
-
$this->_f_color=($_fuente_color!="")?$_fuente_color:$this->_f_color;
-
$this->_formato='style="font-family:'.$this->_f_tipo.'; font-size:'.$this->_f_tamaño.'px; color:'.$this->_f_color.';"';
-
}
-
-
/* Para poner un titulo al formulario (acepta formato html)
-
Ej: $ob->Titulo("<h1>Este es el titulo de mi formulario</h1>"); */
-
function Titulo($_titulo)
-
{
-
$this->codigo_formulario.="<b>".$_titulo."</b><br> rn";
-
}
-
-
function Etiqueta($_etiqueta)
-
{
-
$this->codigo_formulario.="<br>".$_etiqueta."<br> rn";
-
}
-
-
/* Para la creacion de todo tipo de campos incluidos textarea y select
-
Ej: $ob->Campo("Campo 1 ","text","mi_campo","valor del campo");
-
Nota: en el caso de un campo "select" el "valor de campo" debe ser un Array */
-
function Campo($_etiqueta,$_tipo,$_nombre,$_valor='')
-
{
-
if($_tipo=="text" || $_tipo=="checkbox" || $_tipo=="radio" || $_tipo=="submit")
-
{
-
$_n_campo='input type="[type]" name="[name]" value="[value]"';
-
$_n_campo=$_etiqueta." <".$_n_campo."><br> rn";
-
}
-
elseif($_tipo=="textarea")
-
{
-
$_n_campo='textarea name="[name]"';
-
$_n_campo="<".$_n_campo.">".$_valor."</textarea><br> rn";
-
}
-
elseif($_tipo=="select")
-
{
-
{
-
$_n_campo='select name="[name]"';
-
$_n_campo="<".$_n_campo."> rn";
-
-
foreach($_valor as $val=>$etq)
-
{
-
$_n_campo.='<option value="'.$val.'">'.$etq.'</option>'."rn";
-
}
-
-
$_n_campo.="</select><br> rn";
-
}
-
else
-
{
-
return false;
-
}
-
}
-
else
-
{
-
return false;
-
}
-
$this->codigo_formulario.=$_n_campo;
-
}
-
-
/* Para terminar el formulario y mostrarlo en pantalla
-
Ej: $ob->Cierra_formulario(); */
-
function Cierra_formulario()
-
{
-
$this->codigo_formulario="<".$this->formulario." ".$this->_formato.">rn".$this->codigo_formulario."rn</form>rn";
-
}
-
}
-
-
##################
-
# EJEMPLO DE USO #
-
##################
-
-
/*
-
- Crear formulario
-
Formulario_rapido(metodo del formulario,url destino,nombre,js al enviar -opcional-)
-
Ejemplo: */
-
-
$f=new Formulario_rapido("get","prueba.php","mi_forma","return valida_formulario();");
-
-
/*
-
- Formato para el texto
-
Formato()
-
Ejemplo:
-
*/
-
$f->Formato("Arial","13","#0000FF");
-
-
/*
-
- Titulo
-
Titulo(aqui va el titulo)
-
Ejemplo: */
-
$f->Titulo("Este es el titulo de mi formulario");
-
-
/*
-
- Etiqueta
-
Etiqueta(texto para la etiqueta)
-
Campo de texto */
-
$f->Etiqueta("Este es un ejemplo de un etiqueta");
-
-
/* Campo de texto */
-
$f->Etiqueta("Campo de texto");
-
$f->Campo("Campo 1 ","text","mi_campo");
-
-
/* Radio */
-
$f->Etiqueta("Radio");
-
$f->Campo("Opcion 1 ","radio","opcion","1");
-
$f->Campo("Opcion 2 ","radio","opcion","2");
-
$f->Campo("Opcion 3 ","radio","opcion","3");
-
-
/* Checkbox */
-
$f->Etiqueta("Checkbox");
-
$f->Campo("Casilla 1","checkbox","casilla","marcada");
-
-
/* Textarea */
-
$f->Etiqueta("Textarea");
-
$f->Campo("Area de Texto ","textarea","mi_texto","Contenido de la area de texto");
-
-
/* Select
-
En este caso el valor del campo debera ser un Array simple que contenga las opciones
-
del campo Select, tal como se muestra en el ejemplo:
-
*/
-
$f->Etiqueta("Select");
-
$f->Campo("Lista desplegable ","select","mi_lista",array("a"=>"Opción A","b"=>"Opción B","c"=>"Opción C"));
-
-
/* Submit */
-
$f->Etiqueta("Submit");
-
$f->Campo("","submit","enviar"," Enviar ");
-
-
/* Cierra e imprime el código del formulario en pantalla */
-
$f->Cierra_formulario();
-
?>
Popularidad: 16%

