PHP自動產生表單的Form類

來源:互聯網
上載者:User
  • \n\t \n \n";
  • }else {
  • $form_item=$text;
  • }
  • return $form_item;
  • }
  • //文本域函數
  • function form_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;
  • }
  • //文字標籤函數
  • function form_label($text,$for){
  • if($for!==""){
  • $label="{$text}:";
  • }else {
  • $label=$text.":";
  • }
  • return $label;
  • }
  • function form_item($form_label,$form_text){
  • switch ($this->layout){
  • case true:
  • $text="
  • \n";
  • $text.="\t
  • \n";
  • $text.="\t
  • \n";
  • $text.="
  • \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();
  • }
  • }
  • ?>複製代碼
    1. 使用者登入
    2. require_once("form.php");
    3. $form=new form($_SERVER['PHP_SELF']); //提交到本頁
    4. $form->layout=false; //不使用表格版面配置,大家可以把這句注釋掉看結果有何不同
    5. $name=$form->form_text("userid","userid","使用者名稱","userid");
    6. $passwd=$form->form_passwd("passwd","passwd","密碼","passwd");
    7. $submit=$form->form_button("","submit","submit","登入");
    8. $form_item=array($name,$passwd,$submit);
    9. $form->CreateForm($form_item);
    10. ?>
    複製代碼
    1. //Form.php
    2. class form {
    3. var $layout=true;//是否使用表格版面配置
    4. var $action;//表單要提交到的URL
    5. var $method;
    6. var $enctype="";
    7. var $name="";
    8. var $id="";
    9. var $class="";
    10. function form($action,$method="POST"){ //通過建構函式初始化成員變數
    11. $this->action=$action;
    12. $this->method=$method;
    13. }
    14. function form_start(){
    15. $text="\n";
    16. }else {
    17. $text="\n";
    18. }
    19. return $text;
    20. }
    21. //文字框函數
    22. function form_text($name,$id,$label_name,$label_for,$value=""){
    23. $text="
    24. $text.="id=\"{$id}\" ";
    25. if(isset($value)){
    26. $text.="value=\"{$value}\" ";
    27. }
    28. $text.="/>\n";
    29. $label=$this->form_label($label_name,$label_for);
    30. $form_item=$this->form_item($label,$text);
    31. return $form_item;
    32. }
    33. //密碼框函數
    34. function form_passwd($name,$id,$label_name,$label_for,$value=""){
    35. $text="
    36. $text.="id=\"{$id}\" ";
    37. if(isset($value)){
    38. $text.="value=\"{$value}\" ";
    39. }
    40. $text.="/>\n";
    41. $label=$this->form_label($label_name,$label_for);
    42. $form_item=$this->form_item($label,$text);
    43. return $form_item;
    44. }
    45. //隱藏欄位函數
    46. function form_hidden($name,$id,$label_name,$label_for,$value=""){
    47. $text="
    48. if(isset($value)){
    49. $text.="value=\"{$value}\" ";
    50. }
    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. //檔案域函數
    57. function form_file($name,$id,$label_name,$label_for,$size=""){
    58. $text="
    59. $text.="id=\"{$id}\" ";
    60. if(isset($size)){
    61. $text.="size=\"{$size}\" ";
    62. }
    63. $text.="/>\n";
    64. $label=$this->form_label($label_name,$label_for);
    65. $form_item=$this->form_item($label,$text);
    66. return $form_item;
    67. }
    68. //複選框函數
    69. function form_checkbox($name,$label=array(),$label_name,$label_for=""){
    70. $i=0;
    71. $text=array();
    72. foreach ($label as $id=>$value){
    73. $text[$i]="";
    74. $text[$i].="{$value}";
    75. $i++;
    76. }
    77. $label=$this->form_label($label_name,$label_for);
    78. $form_item=$this->form_item($label,$text);
    79. return $form_item;
    80. }
    81. //單選框函數
    82. function form_radio($name,$label=array(),$label_name,$label_for=""){
    83. $i=0;
    84. $text=array();
    85. foreach ($label as $id=>$value){
    86. $text[$i]="";
    87. $text[$i].="{$value}";
    88. $i++;
    89. }
    90. $label=$this->form_label($label_name,$label_for);
    91. $form_item=$this->form_item($label,$text);
    92. return $form_item;
    93. }
    94. //下拉式功能表函數
    95. function form_select($id,$name,$options=array(),$selected=false,$label_name,$label_for,$onchange=""){
    96. if($onchange!==""){
    97. $text="\n"; } else{ $text="\n";
    98. }
    99. foreach ($options as $value=>$key){
    100. if($selected==$value){
    101. $text.="\t{$key}\n";
    102. }elseif ($selected===false) {
    103. $text.="\t{$key}\n";
    104. }
    105. }
    106. $text.="";
    107. $label=$this->form_label($label_name,$label_for);
    108. $form_item=$this->form_item($label,$text);
    109. return $form_item;
    110. }
    111. //多選列表函數
    112. function form_selectmul($id,$name,$size,$options=array(),$label_name,$label_for){
    113. $text="\n"; foreach ($options as $value=>$key){ $text.="\t{$key}\n"; } $text.="\n";
    114. $label=$this->form_label($label_name,$label_for);
    115. $form_item=$this->form_item($label,$text);
    116. return $form_item;
    117. }
    118. //按鈕函數
    119. function form_button($id,$name,$type,$value,$onclick=""){
    120. $text="
    121. if($onclick!==""){
    122. $text.=" onclick='{$onclick}'";
    123. }
    124. $text.=">".$value;
    125. $text.="
    126. \n";
    127. if($this->layout==true){
    128. $form_item="
    {$text}
    ";
  • $text.=$form_label;
  • $text.="
  • ";
  • $text.=$form_text;
  • $text.="
  • 自動產生, PHP, Form
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.