Welcome 微信登录

首页 / 网页编程 / PHP / PHP自动生成表单代码分享

Form.php

<?php//Form.phpclass form {var $layout=true;//是否使用表格布局var $action;//表单要提交到的URLvar $method;var $enctype="";var $name="";var $id="";var $class="";function form($action,$method="POST"){//通过构造函数初始化成员变量$this->action=$action;$this->method=$method;}function form_start(){$text="<form action="{$this->action}" method="{$this->method}"";if($this->class!==""){$text.=" class="{$this->class}"";}if ($this->enctype!=="") {$text.=" enctype="{$this->enctype}"";}if($this->id!==""){$text.=" id="{$this->id}"";}if($this->name!==""){$text.=" name="{$this->name}"";}$text.=">
";if($this->layout==true){$text.="<table>
";}return $text;}function form_end(){if ($this->layout==true) {$text="	</table>
";$text.="</form>
";}else {$text="</form>
";}return $text;}//文本框函数function form_text($name,$id,$label_name,$label_for,$value=""){$text="<input type="text" name="{$name}" ";$text.="id="{$id}" ";if(isset($value)){$text.="value="{$value}" ";}$text.="/>
";$label=$this->form_label($label_name,$label_for);$form_item=$this->form_item($label,$text);return $form_item;}//密码框函数function form_passwd($name,$id,$label_name,$label_for,$value=""){$text="<input type="password" name="{$name}" ";$text.="id="{$id}" ";if(isset($value)){$text.="value="{$value}" ";}$text.="/>
";$label=$this->form_label($label_name,$label_for);$form_item=$this->form_item($label,$text);return $form_item;}//隐藏域函数function form_hidden($name,$id,$label_name,$label_for,$value=""){$text="<input type="hidden" name="{$name}" id="{$id}" ";if(isset($value)){$text.="value="{$value}" ";}$text.="/>
";$label=$this->form_label($label_name,$label_for);$form_item=$this->form_item($label,$text);return $form_item;}//文件域函数function form_file($name,$id,$label_name,$label_for,$size=""){$text="<input type="file" name="{$name}" ";$text.="id="{$id}" ";if(isset($size)){$text.="size="{$size}" ";}$text.="/>
";$label=$this->form_label($label_name,$label_for);$form_item=$this->form_item($label,$text);return $form_item;}//复选框函数function form_checkbox($name,$label=array(),$label_name,$label_for=""){$i=0;$text=array();foreach ($label as $id=>$value){$text[$i]="<input type="checkbox" id="{$id}" name="{$name}" value="{$value}" />";$text[$i].="<label for="{$id}">{$value}</label>";$i++;}$label=$this->form_label($label_name,$label_for);$form_item=$this->form_item($label,$text);return $form_item;}//单选框函数function form_radio($name,$label=array(),$label_name,$label_for=""){$i=0;$text=array();foreach ($label as $id=>$value){$text[$i]="<input type="radio" id="{$id}" name="{$name}" value="{$value}" />";$text[$i].="<label for="{$id}">{$value}</label>";$i++;}$label=$this->form_label($label_name,$label_for);$form_item=$this->form_item($label,$text);return $form_item;}//下拉菜单函数function form_select($id,$name,$options=array(),$selected=false,$label_name,$label_for,$onchange=""){if($onchange!==""){$text="<select id="{$id}" name="{$name}" onchang="{$onchange}">
";}else{$text="<select id="{$id}" name="{$name}">
";}foreach ($options as $value=>$key){if($selected==$value){$text.="	<option valute="{$value}" selected="selected">{$key}</option>
";}elseif ($selected===false) {$text.="	<option value="{$value}">{$key}</option>
";}}$text.="</select>";$label=$this->form_label($label_name,$label_for);$form_item=$this->form_item($label,$text);return $form_item;}//多选列表函数function form_selectmul($id,$name,$size,$options=array(),$label_name,$label_for){$text="<select id="{$id}" name="{$name}" size="{$size}" multiple="multiple">
";foreach ($options as $value=>$key){$text.="	<option value="{$value}">{$key}</option>
";}$text.="</select>
";$label=$this->form_label($label_name,$label_for);$form_item=$this->form_item($label,$text);return $form_item;}//按钮函数function form_button($id,$name,$type,$value,$onclick=""){$text="<button id="{$id}" name="{$name}" type="{$type}"";if($onclick!==""){$text.=" onclick="{$onclick}"";}$text.=">".$value;$text.="</button>
";if($this->layout==true){$form_item="<tr>
	<th> </th><td>{$text}</td>
</tr>
";}else {$form_item=$text;}return $form_item;}//文本域函数function form_textarea($id,$name,$cols,$rows,$label_name,$label_for,$value=""){$text="<textarea id="{$id}" name="{$name}" cols="{$cols}" rows="{$rows}">{$value}</textarea>
";$label=$this->form_label($label_name,$label_for);$form_item=$this->form_item($label,$text);return $form_item;}//文字标签函数function form_label($text,$for){if($for!==""){$label="<label for="{$for}">{$text}:</label>";}else {$label=$text.":";}return $label;}function form_item($form_label,$form_text){switch ($this->layout){case true:$text="<tr>
";$text.="	<th class="label">";$text.=$form_label;$text.="</th>
";$text.="	<td>";$text.=$form_text;$text.="</td>
";$text.="</tr>
";break;case false:$text=$form_label;$text.=$form_text;break;}return $text;}function CreateForm($form_item=array()){echo $this->form_start();foreach ($form_item as $item){echo $item;}echo $this->form_end();}}?>
使用示例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh" lang="zh"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><link rel="stylesheet" type="text/css" href="css/styles.css" /><title>用户登录</title></head><body><?phprequire_once("form.php");$form=new form($_SERVER["PHP_SELF"]); //提交到本页$form->layout=false; //不使用表格布局,大家可以把这句注释掉看结果有何不同$name=$form->form_text("userid","userid","用户名","userid");$passwd=$form->form_passwd("passwd","passwd","密码","passwd");$submit=$form->form_button("","submit","submit","登录");$form_item=array($name,$passwd,$submit);$form->CreateForm($form_item);?></body></html>
以上所述就是本文的全部内容了,希望大家能够喜欢。