PHP自动生成表单代码分享
author:一佰互联 2019-04-28   click:198

Form.php

<?php//Form.phpclass form {    var $layout=true;//是否使用表格布局    var $action;//表单要提交到的URL    var $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>

以上所述就是本文的全部内容了,希望大家能够喜欢。