国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP自動生成表單代碼分享

2024-05-04 23:36:35
字體:
來源:轉載
供稿:網友

在PHP開發過程中,我們有時候會遇到表單不固定的情況,需要在程序運行過程中動態生成,這里分享一個PHP自動創建表單的類給大家

Form.php

 

 
  1. <?php 
  2. //Form.php 
  3. class form { 
  4. var $layout=true;//是否使用表格布局 
  5. var $action;//表單要提交到的URL 
  6. var $method
  7. var $enctype=""
  8. var $name=""
  9. var $id=""
  10. var $class=""
  11. function form($action,$method="POST"){ //通過構造函數初始化成員變量 
  12. $this->action=$action
  13. $this->method=$method
  14. function form_start(){ 
  15. $text="<form action=/"{$this->action}/" method=/"{$this->method}/""
  16. if($this->class!==""){ 
  17. $text.=" class=/"{$this->class}/""
  18. if ($this->enctype!=="") { 
  19. $text.=" enctype=/"{$this->enctype}/""
  20. if($this->id!==""){ 
  21. $text.=" id=/"{$this->id}/""
  22. if($this->name!==""){ 
  23. $text.=" name=/"{$this->name}/""
  24. $text.=">/n"
  25. if($this->layout==true){ 
  26. $text.="<table>/n"
  27. return $text
  28. function form_end(){ 
  29. if ($this->layout==true) { 
  30. $text="/t</table>/n"
  31. $text.="</form>/n"
  32. }else { 
  33. $text="</form>/n"
  34. return $text
  35. //文本框函數 
  36. function form_text($name,$id,$label_name,$label_for,$value=""){ 
  37. $text="<input type=/"text/" name=/"{$name}/" "
  38. $text.="id=/"{$id}/" "
  39. if(isset($value)){ 
  40. $text.="value=/"{$value}/" "
  41. $text.="/>/n"
  42. $label=$this->form_label($label_name,$label_for); 
  43. $form_item=$this->form_item($label,$text); 
  44. return $form_item
  45. //密碼框函數 
  46. function form_passwd($name,$id,$label_name,$label_for,$value=""){ 
  47. $text="<input type=/"password/" name=/"{$name}/" "
  48. $text.="id=/"{$id}/" "
  49. if(isset($value)){ 
  50. $text.="value=/"{$value}/" "
  51. $text.="/>/n"
  52. $label=$this->form_label($label_name,$label_for); 
  53. $form_item=$this->form_item($label,$text); 
  54. return $form_item
  55. //隱藏域函數 
  56. function form_hidden($name,$id,$label_name,$label_for,$value=""){ 
  57. $text="<input type=/"hidden/" name=/"{$name}/" id=/"{$id}/" "
  58. if(isset($value)){ 
  59. $text.="value=/"{$value}/" "
  60. $text.="/>/n"
  61. $label=$this->form_label($label_name,$label_for); 
  62. $form_item=$this->form_item($label,$text); 
  63. return $form_item
  64. //文件域函數 
  65. function form_file($name,$id,$label_name,$label_for,$size=""){ 
  66. $text="<input type=/"file/" name=/"{$name}/" "
  67. $text.="id=/"{$id}/" "
  68. if(isset($size)){ 
  69. $text.="size=/"{$size}/" "
  70. $text.="/>/n"
  71. $label=$this->form_label($label_name,$label_for); 
  72. $form_item=$this->form_item($label,$text); 
  73. return $form_item
  74. //復選框函數 
  75. function form_checkbox($name,$label=array(),$label_name,$label_for=""){ 
  76. $i=0; 
  77. $text=array(); 
  78. foreach ($label as $id=>$value){ 
  79. $text[$i]="<input type=/"checkbox/" id=/"{$id}/" name=/"{$name}/" value=/"{$value}/" />"
  80. $text[$i].="<label for=/"{$id}/">{$value}</label>"
  81. $i++; 
  82. $label=$this->form_label($label_name,$label_for); 
  83. $form_item=$this->form_item($label,$text); 
  84. return $form_item
  85. //單選框函數 
  86. function form_radio($name,$label=array(),$label_name,$label_for=""){ 
  87. $i=0; 
  88. $text=array(); 
  89. foreach ($label as $id=>$value){ 
  90. $text[$i]="<input type=/"radio/" id=/"{$id}/" name=/"{$name}/" value=/"{$value}/" />"
  91. $text[$i].="<label for=/"{$id}/">{$value}</label>"
  92. $i++; 
  93. $label=$this->form_label($label_name,$label_for); 
  94. $form_item=$this->form_item($label,$text); 
  95. return $form_item
  96. //下拉菜單函數 
  97. function form_select($id,$name,$options=array(),$selected=false,$label_name,$label_for,$onchange=""){ 
  98. if($onchange!==""){ 
  99. $text="<select id=/"{$id}/" name=/"{$name}/" onchang=/"{$onchange}/">/n"
  100. else
  101. $text="<select id=/"{$id}/" name=/"{$name}/">/n"
  102. foreach ($options as $value=>$key){ 
  103. if($selected==$value){ 
  104. $text.="/t<option valute=/"{$value}/" selected=/"selected/">{$key}</option>/n"
  105. }elseif ($selected===false) {  
  106. $text.="/t<option value=/"{$value}/">{$key}</option>/n"
  107. $text.="</select>"
  108. $label=$this->form_label($label_name,$label_for); 
  109. $form_item=$this->form_item($label,$text); 
  110. return $form_item
  111. //多選列表函數 
  112. function form_selectmul($id,$name,$size,$options=array(),$label_name,$label_for){ 
  113. $text="<select id=/"{$id}/" name=/"{$name}/" size=/"{$size}/" multiple=/"multiple/">/n"
  114. foreach ($options as $value=>$key){ 
  115. $text.="/t<option value=/"{$value}/">{$key}</option>/n"
  116. $text.="</select>/n"
  117. $label=$this->form_label($label_name,$label_for); 
  118. $form_item=$this->form_item($label,$text); 
  119. return $form_item
  120. //按鈕函數 
  121. function form_button($id,$name,$type,$value,$onclick=""){ 
  122. $text="<button id=/"{$id}/" name=/"{$name}/" type=/"{$type}/""
  123. if($onclick!==""){ 
  124. $text.=" onclick='{$onclick}'"
  125. $text.=">".$value
  126. $text.="</button>/n"
  127. if($this->layout==true){ 
  128. $form_item="<tr>/n/t<th> </th><td>{$text}</td>/n</tr>/n"
  129. }else { 
  130. $form_item=$text
  131. return $form_item
  132. //文本域函數 
  133. function form_textarea($id,$name,$cols,$rows,$label_name,$label_for,$value=""){ 
  134. $text="<textarea id=/"{$id}/" name=/"{$name}/" cols=/"{$cols}/" rows=/"{$rows}/">{$value}</textarea>/n"
  135. $label=$this->form_label($label_name,$label_for); 
  136. $form_item=$this->form_item($label,$text); 
  137. return $form_item
  138. //文字標簽函數 
  139. function form_label($text,$for){ 
  140. if($for!==""){ 
  141. $label="<label for=/"{$for}/">{$text}:</label>"
  142. }else { 
  143. $label=$text.":"
  144. return $label
  145. function form_item($form_label,$form_text){ 
  146. switch ($this->layout){ 
  147. case true: 
  148. $text="<tr>/n"
  149. $text.="/t<th class=/"label/">"
  150. $text.=$form_label
  151. $text.="</th>/n"
  152. $text.="/t<td>"
  153. $text.=$form_text
  154. $text.="</td>/n"
  155. $text.="</tr>/n"
  156. break
  157. case false: 
  158. $text=$form_label
  159. $text.=$form_text
  160. break
  161. return $text
  162. function CreateForm($form_item=array()){ 
  163. echo $this->form_start(); 
  164. foreach ($form_item as $item){ 
  165. echo $item
  166. echo $this->form_end(); 
  167. ?> 

使用示例:

 

 
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh" lang="zh"
  3. <head> 
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
  5. <link rel="stylesheet" type="text/css" href="css/styles.css" /> 
  6. <title>用戶登錄</title> 
  7. </head> 
  8. <body> 
  9. <?php 
  10. require_once("form.php"); 
  11. $form=new form($_SERVER['PHP_SELF']); //提交到本頁 
  12. $form->layout=false; //不使用表格布局,大家可以把這句注釋掉看結果有何不同 
  13. $name=$form->form_text("userid","userid","用戶名","userid"); 
  14. $passwd=$form->form_passwd("passwd","passwd","密碼","passwd"); 
  15. $submit=$form->form_button("","submit","submit","登錄"); 
  16. $form_item=array($name,$passwd,$submit); 
  17. $form->CreateForm($form_item); 
  18. ?> 
  19. </body> 
  20. </html> 

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长子县| 太原市| 马公市| 永定县| 凭祥市| 黄石市| 凤台县| 即墨市| 浮山县| 全椒县| 岳西县| 黄山市| 墨江| 韩城市| 锦屏县| 陆良县| 新沂市| 隆林| 阆中市| 阿巴嘎旗| 故城县| 衡阳县| 伊吾县| 肇东市| 谢通门县| 会昌县| 梁河县| 察哈| 云浮市| 博兴县| 高唐县| 白城市| 建德市| 伊金霍洛旗| 修文县| 开封市| 昌江| 成安县| 安达市| 沭阳县| 黄山市|