PHP自動產生表單代碼分享_php技巧

來源:互聯網
上載者:User

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.=">\n";        if($this->layout==true){            $text.="<table>\n";        }        return $text;    }    function form_end(){        if ($this->layout==true) {            $text="\t</table>\n";            $text.="</form>\n";        }else {            $text="</form>\n";        }        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.="/>\n";        $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.="/>\n";        $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.="/>\n";        $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.="/>\n";        $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}\">\n";        }        else{            $text="<select id=\"{$id}\" name=\"{$name}\">\n";        }        foreach ($options as $value=>$key){            if($selected==$value){                $text.="\t<option valute=\"{$value}\" selected=\"selected\">{$key}</option>\n";            }elseif ($selected===false) {                            $text.="\t<option value=\"{$value}\">{$key}</option>\n";            }        }        $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\">\n";        foreach ($options as $value=>$key){            $text.="\t<option value=\"{$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;    }    //按鈕函數    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>\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;    }    //文本域函數    function form_textarea($id,$name,$cols,$rows,$label_name,$label_for,$value=""){        $text="<textarea id=\"{$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;    }    //文字標籤函數    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>\n";                $text.="\t<th class=\"label\">";                $text.=$form_label;                $text.="</th>\n";                $text.="\t<td>";                $text.=$form_text;                $text.="</td>\n";                $text.="</tr>\n";                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>

以上所述就是本文的全部內容了,希望大家能夠喜歡。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.