Form.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="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.="
}
return$text;
}
functionform_end(){
if($this->layout==true){
$text="t
n";$text.="n";
}else{
$text="n";
}
return$text;
}
//文本框函数
functionform_text($name,$id,$label_name,$label_for,$value=""){
$text="
$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="
$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="
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="
$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]="";
$text[$i].="{$value}";
$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]="";
$text[$i].="{$value}";
$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,$οnchange=""){
if($onchange!==""){
$text="n";
}
else{
$text="n";
}
foreach($optionsas$value=>$key){
if($selected==$value){
$text.="t{$key}n";
}elseif($selected===false){
$text.="t{$key}n";
}
}
$text.="";
$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="n";
foreach($optionsas$value=>$key){
$text.="t{$key}n";
}
$text.="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,$οnclick=""){
$text="
if($onclick!==""){
$text.="οnclick='{$onclick}'";
}
$text.=">".$value;
$text.="n";
if($this->layout==true){
$form_item="
nt{$text}nn";}else{
$form_item=$text;
}
return$form_item;
}
//文本域函数
functionform_textarea($id,$name,$cols,$rows,$label_name,$label_for,$value=""){
$text="{$value}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="{$text}:";
}else{
$label=$text.":";
}
return$label;
}
functionform_item($form_label,$form_text){
switch($this->layout){
casetrue:
$text="
n";$text.="t";
$text.=$form_label;
$text.="n";
$text.="t
";$text.=$form_text;
$text.="
n";$text.="
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();
}
}
?>
使用示例:
-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
用户登录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);
?>