include_once(XOOPS_ROOT_PATH."/class/xoopsformloader.php");
```
2. 建立一個表單: ```
$form = new XoopsThemeForm('表單標題', 'name', 'action.php', 'post', '使用token' , '摘要');
```
3. 標籤元件: ```
$元件變數 =new XoopsFormLabel('標題', '內容');
```
4. 文字輸入: ```
$元件變數 =new XoopsFormText('標題', 'name', 大小 , 最大長度 , '值');
```
5. 日期欄位: ```
$元件變數 =new XoopsFormTextDateSelect('標題', 'name', 大小 , '值');
```
6. 日期+時間欄位: ```
$元件變數 =new XoopsFormDateTime('標題', 'name', 大小 , '值' , 是否顯示時間);
```
7. 隱藏欄位: ```
$元件變數 =new XoopsFormHidden('name', '值');
```
8. 安全檢查: ```
$元件變數=new XoopsFormHiddenToken('XOOPS_TOKEN_REQUEST',360);
```
9. 上傳欄位: ```
$form->setExtra("enctype='multipart/form-data'");
$元件變數 =new XoopsFormFile('標題', 'name', '2048');
```
10. 密碼欄位: ```
$元件變數=new XoopsFormPassword('標題', 'name', 大小, 最大長度, '值');
```
11. 大量文字: ```
$元件變數=new XoopsFormTextArea('標題', 'name', '值' , 列高 , 欄寬);
```
12. XOOPS編輯器: ```
$元件變數=new XoopsFormDhtmlTextArea('標題' , 'name', '值' , 欄寬 , 列高);
```
13. 複選方塊: ```
$元件變數 = new XoopsFormCheckBox('標題', 'name', '值','id');
```
14. - (1) $元件變數->setValue($多重預設值陣列);
- (2) $元件變數->addOption('選單值1', '顯示值1', false);
- (3) $options\['選單值2'\]='顯示值2';
$options\['選單值3'\]='顯示值3';
$元件變數->addOptionArray($options);
15. 單選鈕:(選項及預設值設法同複選) ```
$元件變數 = new XoopsFormRadio('標題', 'name', '值');
```
16. 是否單選: ```
$元件變數=new XoopsFormRadioYN('標題', 'name', '值');
```
17. 下拉選單:(選項及預設值設法同複選,多選預設false) ```
$元件變數=new XoopsFormSelect('標題', 'name', '預設值', 大小, 多選);
```
18. 群組核選:(多選預設false) ```
$元件變數=new XoopsFormSelectCheckGroup('標題', 'name', '值', 大小 ,多選);
```
19. 國家選單:(值:TW) ```
$元件變數=new XoopsFormSelectCountry('標題', 'name', '值', 大小);
```
20. 編輯器選單:(使用HTML預設false ) ```
$元件變數=new XoopsFormSelectEditor(&$form, 'name', '值', 使用HTML , 可選編輯器陣列);
```
21. 群組選單:(含訪客預設false,多選預設false) ```
$元件變數=new XoopsFormSelectGroup('標題', 'name', 含訪客, '值', 大小 ,多選);
```
22. 語系選單:(值tchinese\_utf8,多選預設false) ```
$元件變數=new XoopsFormSelectLang('標題', 'name', '值', 大小);
```
23. 比對選單: ```
$元件變數=new XoopsFormSelectMatchOption('標題', 'name', '值', 大小);
```
24. 佈景選單: ```
$元件變數=new XoopsFormSelectTheme('標題', 'name', '值', 大小);
```
25. 時區選單: ```
$元件變數=new XoopsFormSelectTimezone('標題', 'name', '值', 大小);
```
26. 使用者選單:(含訪客預設false,多選預設false) ```
$元件變數=new XoopsFormSelectUser('標題', 'name', 含訪客, '值', 大小 ,多選);
```
27. 按鈕:(類型:submit或reset) ```
$元件變數 =new XoopsFormButton('標題', 'name', '值', '類型');
```
28. 把元件加入表單中: ```
$form->addElement($元件變數,是否必填);
```
29. 把幾個元件組合在一起,並放到表單中: ```
$Tray1=new XoopsFormElementTray('標題', ' ', 'name');
$Tray1->addElement(new XoopsFormButton('', 'name', '送出', 'submit'));
$Tray1->addElement(new XoopsFormButton('', 'name', '清除', 'reset'));
$form->addElement($Tray1);
```
30. 產生表單程式碼: ```
$f=$form->render();
```
### 三、 在表單元建中加入額外資訊
1. 我們可以加入 class="span12",讓表單元件可以佔滿整個父元件的空間(這是BootStrap用法)
2. 我們還可以加入 placeholder="輸入提示",讓表單元件呈現輸入提示字元
3. 要加入額外資訊,比須使用 $元件變數->setExtra("額外資訊") 的方式來進行: ```
//在表單中,加入一個大量文字輸入框
$form_honor_note = new XoopsFormTextArea('備註', 'honor_note' , $honor_note , 5 , 255);
$form_honor_note->setExtra("class='span12' placeholder='請填入備註'");
$form->addElement($form_honor_note , false);
```
### 四、表單驗證
```
$form = new XoopsThemeForm('編輯榮譽榜', 'honor', 'index.php', 'post');
```
```
$form->addElement($XoopsFormText , true);
```
1. 建立表單時,一定要設定name:
2. 新增元件時,第二個參數設為true:
### 五、 表單安全
1. 表單加入: ```
$form->addElement(new XoopsFormHiddenToken());
```
2. 儲存時,請加入以下這段: ```
if(!$GLOBALS['xoopsSecurity']->check()){
$error=implode("
" , $GLOBALS['xoopsSecurity']->getErrors());
redirect_header($_SERVER['PHP_SELF'],3, $error);
}
```