Categorias

Construtor de Formulários Padronizados

Este script possibilita a construção de formulários padronizados através de parâmetros passados em um array.

Basta simplismente preencher um array com os parâmetros dos formulários e a função cria ele para você.

Recomendado para usuários avançados.

Página forms.php
------
"Título do formulário",
		"name"=>"f_input.php",
		"action"=>"acao.php",
		"method"=>"get",
		"fieldsets"=>array( //Contém as tags fieldset
			array(//fieldset 1
				"title"=>"Fieldset 1",
				"id"=>"fieldset1",
				"elements"=>array( //Array contendo os elementos do fieldset
					array(
						"field"=>"input",//contém o tipo de campo
						"label"=>"Campo 1", //contém a legenda que vai pertencer ao campo
						"name"=>"campo1",
						"type"=>"text",
						"value"=>"Texto do campo",
						"size"=>"50"
					),//fim campo1
					array(
						"field"=>"input",
						"label"=>"Campo 2",
						"name"=>"campo2",
						"type"=>"password",
						"value"=>"Texto do campo",
						"size"=>"50"
					),//fim campo2
					array(
						"field"=>"input",
						"type"=>"checkbox",
						"label"=>"Campo 3",
						"name"=>"campo3",
						"value"=>"3"
					),//fim campo3
					array(
						"field"=>"input",
						"type"=>"checkbox",
						"label"=>"Campo 4",
						"name"=>"campo4",
						"value"=>"4",
						"checked"=>"true"
					),//fim campo4
					array(
						"field"=>"textarea",
						"label"=>"Campo 5",
						"name"=>"campo5",
						"cols"=>"40",
						"rows"=>"10",
						"value"=>"Conteúdo do campo 5"
					),//fim campo 5
					array(
						"field"=>"select",
						"label"=>"Campo 6",
						"name"=>"campo6",
						"options"=>array(//array contendo as opções no formato value,selected,rótulo, separados por ponto-e-vírgula. Para as opões não selecionadas, coloque um espaçoem branco entre os ponto-e-vírgula
							"0; ;Zero",
							"1;selected;Um",
							"2; ;Dois",
							"3; ;Três"
						)//fim array options
					)//fim campo6
				)//fim array elements
			),//fim do fieldset1
			array(//fieldset 1
				"title"=>"Fieldset 2",
				"id"=>"fieldset2",
				"elements"=>array( //Array contendo os elementos do fieldset
					array(
						"field"=>"input",//contém o tipo de campo
						"label"=>"Campo 1", //contém a legenda que vai pertencer ao campo
						"name"=>"campo1",
						"type"=>"text",
						"value"=>"Texto do campo",
						"size"=>"50"
					),//fim campo1
					array(
						"field"=>"input",
						"label"=>"Campo 2",
						"name"=>"campo2",
						"type"=>"password",
						"value"=>"Texto do campo",
						"size"=>"50"
					),//fim campo2
					array(
						"field"=>"input",
						"type"=>"checkbox",
						"label"=>"Campo 3",
						"name"=>"campo3",
						"value"=>"3"
					),//fim campo3
					array(
						"field"=>"input",
						"type"=>"checkbox",
						"label"=>"Campo 4",
						"name"=>"campo4",
						"value"=>"4",
						"checked"=>"true"
					),//fim campo4
					array(
						"field"=>"textarea",
						"label"=>"Campo 5",
						"name"=>"campo5",
						"cols"=>"40",
						"rows"=>"10",
						"value"=>"Conteúdo do campo 5"
					),//fim campo 5
					array(
						"field"=>"select",
						"label"=>"Campo 6",
						"name"=>"campo6",
						"options"=>array(//array contendo as opções no formato value,selected,rótulo, separados por ponto-e-vírgula. Para as opões não selecionadas, coloque um espaçoem branco entre os ponto-e-vírgula
							"0; ;Zero",
							"1;selected;Um",
							"2; ;Dois",
							"3; ;Três"
						)//fim array options
					)//fim campo6
				)//fim array elements
			)//fim do fieldset2
		)//fim array fieldsets
)// fim array form1;
?>

Página pagina.php
------
'.$tag[label].': ';
		if($type=='textarea'){
			$campos.="<$type ";
			while(list($prop,$value)=each($tag)){
				if($prop!="field" && $prop!="value"){
					$campos.=$prop.'="'.$value.'" ';
				}else{}
			}
			$campos.='>'.$tag[value].'
'; }elseif($type=='select'){ $options=$tag[options]; $campos.="<$type "; while(list($prop,$value)=each($tag)){ if($prop!="field" && $prop!="options"){ $campos.=$prop.'="'.$value.'" '; }else{} } $campos.=">"; while(list($nn,$o)=each($options)){ $oo=explode(';',$o); $value=$oo[0]; $selected=$oo[1]; $label=$oo[2]; $campos.=''; } $campos.='
'; }else{ $campos.="<$type "; while(list($prop,$value)=each($tag)){ if($prop!="field"){ $campos.=$prop.'="'.$value.'" '; } } $campos.=">
"; } } return $campos; } function formConstructor($form){ //Monta o cabeçalho da página/formulário $f_title=$form[title]; $print="

$f_title


"; //Monta a tag form $print.="
"; $print.=fieldConstructor($atual[elements]);//Insere os campos $print.=''; } //Fecha o formulário e imprime a página $print.=''; $print.='
'; echo $print; } formConstructor($form1); ?>

Arquivos para Download:

autoform.zip