PHP自动生成表单代码分享
Form.php
<?php //Form.php classform{ var$layout=true;//是否使用表格布局 var$action;//表单要提交到的URL var$method; var$enctype=""; var$name=""; var$id=""; var$class=""; functionform($action,$method="POST"){//通过构造函数初始化成员变量 $this->action=$action; $this->method=$method; } functionform_start(){ $text="<formaction=\"{$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.=">\n"; if($this->layout==true){ $text.="<table>\n"; } return$text; } functionform_end(){ if($this->layout==true){ $text="\t</table>\n"; $text.="</form>\n"; }else{ $text="</form>\n"; } return$text; } //文本框函数 functionform_text($name,$id,$label_name,$label_for,$value=""){ $text="<inputtype=\"text\"name=\"{$name}\""; $text.="id=\"{$id}\""; if(isset($value)){ $text.="value=\"{$value}\""; } $text.="/>\n"; $label=$this->form_label($label_name,$label_for); $form_item=$this->form_item($label,$text); return$form_item; } //密码框函数 functionform_passwd($name,$id,$label_name,$label_for,$value=""){ $text="<inputtype=\"password\"name=\"{$name}\""; $text.="id=\"{$id}\""; if(isset($value)){ $text.="value=\"{$value}\""; } $text.="/>\n"; $label=$this->form_label($label_name,$label_for); $form_item=$this->form_item($label,$text); return$form_item; } //隐藏域函数 functionform_hidden($name,$id,$label_name,$label_for,$value=""){ $text="<inputtype=\"hidden\"name=\"{$name}\"id=\"{$id}\""; if(isset($value)){ $text.="value=\"{$value}\""; } $text.="/>\n"; $label=$this->form_label($label_name,$label_for); $form_item=$this->form_item($label,$text); return$form_item; } //文件域函数 functionform_file($name,$id,$label_name,$label_for,$size=""){ $text="<inputtype=\"file\"name=\"{$name}\""; $text.="id=\"{$id}\""; if(isset($size)){ $text.="size=\"{$size}\""; } $text.="/>\n"; $label=$this->form_label($label_name,$label_for); $form_item=$this->form_item($label,$text); return$form_item; } //复选框函数 functionform_checkbox($name,$label=array(),$label_name,$label_for=""){ $i=0; $text=array(); foreach($labelas$id=>$value){ $text[$i]="<inputtype=\"checkbox\"id=\"{$id}\"name=\"{$name}\"value=\"{$value}\"/>"; $text[$i].="<labelfor=\"{$id}\">{$value}</label>"; $i++; } $label=$this->form_label($label_name,$label_for); $form_item=$this->form_item($label,$text); return$form_item; } //单选框函数 functionform_radio($name,$label=array(),$label_name,$label_for=""){ $i=0; $text=array(); foreach($labelas$id=>$value){ $text[$i]="<inputtype=\"radio\"id=\"{$id}\"name=\"{$name}\"value=\"{$value}\"/>"; $text[$i].="<labelfor=\"{$id}\">{$value}</label>"; $i++; } $label=$this->form_label($label_name,$label_for); $form_item=$this->form_item($label,$text); return$form_item; } //下拉菜单函数 functionform_select($id,$name,$options=array(),$selected=false,$label_name,$label_for,$onchange=""){ if($onchange!==""){ $text="<selectid=\"{$id}\"name=\"{$name}\"onchang=\"{$onchange}\">\n"; } else{ $text="<selectid=\"{$id}\"name=\"{$name}\">\n"; } foreach($optionsas$value=>$key){ if($selected==$value){ $text.="\t<optionvalute=\"{$value}\"selected=\"selected\">{$key}</option>\n"; }elseif($selected===false){ $text.="\t<optionvalue=\"{$value}\">{$key}</option>\n"; } } $text.="</select>"; $label=$this->form_label($label_name,$label_for); $form_item=$this->form_item($label,$text); return$form_item; } //多选列表函数 functionform_selectmul($id,$name,$size,$options=array(),$label_name,$label_for){ $text="<selectid=\"{$id}\"name=\"{$name}\"size=\"{$size}\"multiple=\"multiple\">\n"; foreach($optionsas$value=>$key){ $text.="\t<optionvalue=\"{$value}\">{$key}</option>\n"; } $text.="</select>\n"; $label=$this->form_label($label_name,$label_for); $form_item=$this->form_item($label,$text); return$form_item; } //按钮函数 functionform_button($id,$name,$type,$value,$onclick=""){ $text="<buttonid=\"{$id}\"name=\"{$name}\"type=\"{$type}\""; if($onclick!==""){ $text.="onclick='{$onclick}'"; } $text.=">".$value; $text.="</button>\n"; if($this->layout==true){ $form_item="<tr>\n\t<th></th><td>{$text}</td>\n</tr>\n"; }else{ $form_item=$text; } return$form_item; } //文本域函数 functionform_textarea($id,$name,$cols,$rows,$label_name,$label_for,$value=""){ $text="<textareaid=\"{$id}\"name=\"{$name}\"cols=\"{$cols}\"rows=\"{$rows}\">{$value}</textarea>\n"; $label=$this->form_label($label_name,$label_for); $form_item=$this->form_item($label,$text); return$form_item; } //文字标签函数 functionform_label($text,$for){ if($for!==""){ $label="<labelfor=\"{$for}\">{$text}:</label>"; }else{ $label=$text.":"; } return$label; } functionform_item($form_label,$form_text){ switch($this->layout){ casetrue: $text="<tr>\n"; $text.="\t<thclass=\"label\">"; $text.=$form_label; $text.="</th>\n"; $text.="\t<td>"; $text.=$form_text; $text.="</td>\n"; $text.="</tr>\n"; break; casefalse: $text=$form_label; $text.=$form_text; break; } return$text; } functionCreateForm($form_item=array()){ echo$this->form_start(); foreach($form_itemas$item){ echo$item; } echo$this->form_end(); } } ?>
使用示例:
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"xml:lang="zh"lang="zh"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=gb2312"/> <linkrel="stylesheet"type="text/css"href="css/styles.css"/> <title>用户登录</title> </head> <body> <?php require_once("form.php"); $form=newform($_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>
以上所述就是本文的全部内容了,希望大家能够喜欢。