This document gives you quick examples of different layouts and form elements.

Most examples are displayed using Bootstrap 4 layout.
The other frameworks (Bootstrap 3, Foundation, and Material Design) are using the same markup.

To change the framework you just have to change the framework argument when you instanciate your form.

'; $php_code['included-frameworks'][] = '// default Bootstrap 4 form $form = new Form(\'form-name\', \'horizontal\', \'novalidate\'); // Bootstrap 3 form $form = new Form(\'form-name\', \'horizontal\', \'novalidate\', \'bs3\'); // Foundation form $form = new Form(\'form-name\', \'horizontal\', \'novalidate\', \'foundation\'); // Material form $form = new Form(\'form-name\', \'horizontal\', \'novalidate\', \'material\');'; ?> Each framework has its own markup and CSS classes. For example, some framework wrap radio buttons & checkboxes into their label, whereas others don\'t.

Bootstrap adds a CSS form-control class to the form elements, but other frameworks don\'t.

All these specificities are defined by the options property of the form, including responsive rows & columns.

The HTML code generated by PHP Form Builder can be easily customized to be used with any framework:
Semantic-UI, Pure, Skeleton, UIKit, Milligram, Susy, Bulma, Kube, ...

'; $php_code['customize-for-other-frameworks'][] = '$custom_options = array( // options here ); $form->setOptions($custom_options);'; // Horizontal forms $content_text['horizontal-forms'] = '

In horizontal forms, labels and fields are displayed in two responsive columns whose width you can define.

'; $form = new Form('my-form', 'horizontal', 'novalidate'); // 3 columns label, 9 columns field, breakpoint = small screens $form->setCols(3, 9, 'sm'); $form->addInput('text', 'user-name', '', 'User Name', 'required'); $php_code['horizontal-forms'][] = '$form = new Form(\'my-form\', \'horizontal\', \'novalidate\'); // 3 columns label, 9 columns field, breakpoint = small screens $form->setCols(3, 9, \'sm\'); $form->addInput(\'text\', \'user-name\', \'\', \'User Name\', \'required\');'; $output['horizontal-forms'][] = '
' . $form->html . '
'; $output_code['horizontal-forms'][] = trim(htmlspecialchars($form->cleanHtmlOutput($form->html))); // Vertical forms $content_text['vertical-forms'] = '

In vertical forms, labels are displayed above the fields. Vertical forms don\'t use columns.

'; $form = new Form('my-form', 'vertical', 'novalidate'); $form->addInput('text', 'user-name', '', 'User Name', 'required'); $php_code['vertical-forms'][] = '$form = new Form(\'my-form\', \'vertical\', \'novalidate\'); $form->addInput(\'text\', \'user-name\', \'\', \'User Name\', \'required\');'; $output['vertical-forms'][] = '
' . $form->html . '
'; $output_code['vertical-forms'][] = trim(htmlspecialchars($form->cleanHtmlOutput($form->html))); // Inline forms $content_text['inline-forms'] = '

Inline forms display labels and fields on the line without containers.

'; $form = new Form('my-form', 'vertical', 'novalidate'); $form->addInput('text', 'user-name', '', 'User Name', 'class=ml-3, required'); $php_code['inline-forms'][] = '$form = new Form(\'my-form\', \'inline\', \'novalidate\'); $form->addInput(\'text\', \'user-name\', \'\', \'User Name\', \'class=ml-3, required\');'; $output['inline-forms'][] = '
' . $form->html . '
'; $output_code['inline-forms'][] = trim(htmlspecialchars($form->cleanHtmlOutput($form->html))); // Input groups $content_text['input-groups'] = '

Input groups allow you to group several fields in the same row.

This is only possible in horizontal forms, which are the only ones to use a responsive layout with columns and rows.

'; $form = new Form('my-form', 'horizontal', 'novalidate'); // 2 columns label, 4 columns field, breakpoint = small screens $form->setCols(2, 4, 'sm'); $form->groupInputs('user-name', 'user-first-name'); $form->addInput('text', 'user-name', '', 'Name', 'required'); $form->addInput('text', 'user-first-name', '', 'First name'); $php_code['input-groups'][] = '$form = new Form(\'my-form\', \'horizontal\', \'novalidate\'); // 2 columns label, 4 columns field, breakpoint = small screens $form->setCols(2, 4, \'sm\'); $form->groupInputs(\'user-name\', \'user-first-name\'); $form->addInput(\'text\', \'user-name\', \'\', \'Name\', \'required\'); $form->addInput(\'text\', \'user-first-name\', \'\', \'First name\');'; $output['input-groups'][] = '
' . $form->html . '
'; $output_code['input-groups'][] = trim(htmlspecialchars($form->cleanHtmlOutput($form->html))); // Columns $content_text['columns'] = '

To create a 2-column form, insert the html code in the appropriate places using the addHtml() function.

'; $form = new Form('my-form', 'vertical', 'novalidate'); $form->addHtml('
'); $form->addHtml('
'); $form->addInput('text', 'user-name', '', 'Name', 'required'); $form->addInput('text', 'user-first-name', '', 'First Name', 'required'); $form->addHtml('
'); $form->addHtml('
'); $form->addInput('email', 'user-email', '', 'Email', 'required'); $form->addInput('tel', 'user-phone', '', 'Phone', 'required'); $form->addHtml('
'); $form->addHtml('
'); $php_code['columns'][] = '$form = new Form(\'my-form\', \'vertical\', \'novalidate\'); $form->addHtml(\'<div class="row">\'); $form->addHtml(\'<div class="col-6">\'); $form->addInput(\'text\', \'user-name\', \'\', \'Name\', \'required\'); $form->addInput(\'text\', \'user-first-name\', \'\', \'First Name\', \'required\'); $form->addHtml(\'</div>\'); $form->addHtml(\'<div class="col-6">\'); $form->addInput(\'email\', \'user-email\', \'\', \'Email\', \'required\'); $form->addInput(\'tel\', \'user-phone\', \'\', \'Phone\', \'required\'); $form->addHtml(\'</div>\'); $form->addHtml(\'</div>\');'; $output['columns'][] = '
' . $form->html . '
'; $output_code['columns'][] = trim(htmlspecialchars($form->cleanHtmlOutput($form->html))); // Layout (Columns) $content_text['layout'] = '
'; $content_text['layout'] .= '

Layout is based on a Bootstrap 12 columns grid.

'; $content_text['layout'] .= '

setCols function sets labels and fields\'s number of columns.

'; $content_text['layout'] .= '

Default is 4 columns labels and 8 columns fields.

'; $content_text['layout'] .= '
'; $php_code['layout'][] = '// set 3 columns labels and 9 columns fields $form->setCols(3, 9); // set no label (or Material floating label + 12 columns fields $form->setCols(0, 12);'; // Input with label $form = new Form('my-form', 'horizontal', 'novalidate'); $form->addInput('text', 'user-name-1', 'value', 'User Name', 'required'); $php_code['input-with-label'][] = '$form->addInput(\'text\', \'user-name-1\', \'value\', \'User Name\', \'required\');'; $output['input-with-label'][] = '
' . $form->html . '
'; $output_code['input-with-label'][] = trim(htmlspecialchars($form->cleanHtmlOutput($form->html))); // Input with placeholder $form = new Form('my-form', 'horizontal', 'novalidate'); $form->addInput('text', 'user-name-2', '', 'User Name', 'placeholder=Your Name, required'); $php_code['input-with-placeholder'][] = '$form->addInput(\'text\', \'user-name-2\', \'\', \'User Name\', \'placeholder=Your Name, required\');'; $output['input-with-placeholder'][] = '
' . $form->html . '
'; $output_code['input-with-placeholder'][] = trim(htmlspecialchars($form->cleanHtmlOutput($form->html))); // Input with icon $form = new Form('my-form', 'horizontal', 'novalidate'); $form->addIcon('user-name-3', '', 'before'); $form->addInput('text', 'user-name-3', '', 'User Name', 'placeholder=Your Name, required'); $php_code['input-with-icon'][] = '$form->addIcon(\'user-name-3\', \'<span class="fa fa-user"></span>\', \'before\'); $form->addInput(\'text\', \'user-name-3\', \'\', \'User Name\', \'placeholder=Your Name, required\');'; $output['input-with-icon'][] = '
' . $form->html . '
'; $output_code['input-with-icon'][] = trim(htmlspecialchars($form->cleanHtmlOutput($form->html))); // input with button addon $php_code['input-with-button-addon'][] = '// See examples with code in templates'; $output['input-with-button-addon'][] = '

See examples with code in templates:

https://www.phpformbuilder.pro/templates/bootstrap-4-forms/input-with-addons.php https://www.phpformbuilder.pro/templates/bootstrap-3-forms/input-with-addons.php https://www.phpformbuilder.pro/templates/material-forms/input-with-addons.php'; $output_code['input-with-button-addon'][] = '// See examples with code in templates'; // Input without label $form = new Form('my-form', 'horizontal', 'novalidate'); $form->setCols(0, 12); $form->addIcon('user-name-4', '', 'before'); $form->addInput('text', 'user-name-4', '', '', 'placeholder=Your Name, required'); $php_code['input-without-label'][] = '$form->setCols(0, 12); $form->addIcon(\'user-name-4\', \'\', \'before\'); $form->addInput(\'text\', \'user-name-4\', \'\', \'\', \'placeholder=Your Name, required\');'; $output['input-without-label'][] = '
' . $form->html . '
'; $output_code['input-without-label'][] = trim(htmlspecialchars($form->cleanHtmlOutput($form->html))); // Input with floating label (Material) $form = new Form('my-form', 'horizontal', 'novalidate', 'material'); $form->setCols(0, 12); $form->addInput('text', 'user-name-5', '', 'Your Name', 'required'); $php_code['input-with-floating-label'][] = '$form = new Form(\'my-form\', \'horizontal\', \'novalidate\', \'material\'); $form->setCols(0, 12); $form->addInput(\'text\', \'user-name-5\', \'\', \'Your Name\', \'required\');'; $output['input-with-floating-label'][] = '

See examples with code in templates

'; $output_code['input-with-floating-label'][] = '// See examples with code in templates'; // Several fields on same line $form = new Form('my-form', 'horizontal', 'novalidate'); $form->setCols(0, 6); $form->groupInputs('user-name-6', 'user-first-name-6'); $form->addIcon('user-name-6', '', 'before'); $form->addInput('text', 'user-name-6', '', '', 'required=required, placeholder=Name*'); $form->addInput('text', 'user-first-name-6', '', '', 'placeholder=First Name'); $php_code['several-fields-on-same-line'][] = '$form->setCols(0, 6); $form->groupInputs(\'user-name-6\', \'user-first-name-6\'); $form->addIcon(\'user-name-6\', \'\', \'before\'); $form->addInput(\'text\', \'user-name-6\', \'\', \'\', \'required=required, placeholder=Name*\'); $form->addInput(\'text\', \'user-first-name-6\', \'\', \'\', \'placeholder=First Name\');'; $output['several-fields-on-same-line'][] = '
' . $form->html . '
'; $output_code['several-fields-on-same-line'][] = trim(htmlspecialchars($form->cleanHtmlOutput($form->html))); $form = new Form('my-form', 'horizontal', 'novalidate'); $form->startFieldset('Please fill the form below'); $form->setCols(4, 4); $form->groupInputs('first-name-1', 'last-name-1'); $form->addHelper('First name', 'first-name-1'); $form->addInput('text', 'first-name-1', '', 'Full Name : ', 'required=required'); $form->setCols(0, 4); $form->addHelper('Last name', 'last-name-1'); $form->addInput('text', 'last-name-1', '', '', 'required=required'); $form->endFieldset(); $php_code['several-fields-on-same-line'][] = '$form->startFieldset(\'Please fill the form below\'); $form->setCols(4, 4); $form->groupInputs(\'first-name-1\', \'last-name-1\'); $form->addHelper(\'First name\', \'first-name-1\'); $form->addInput(\'text\', \'first-name-1\', \'\', \'Full Name : \', \'required=required\'); $form->setCols(0, 4); $form->addHelper(\'Last name\', \'last-name-1\'); $form->addInput(\'text\', \'last-name-1\', \'\', \'\', \'required=required\'); $form->endFieldset();'; $output['several-fields-on-same-line'][] = '
' . $form->html . '
'; $output_code['several-fields-on-same-line'][] = trim(htmlspecialchars($form->cleanHtmlOutput($form->html))); // Textarea $form = new Form('my-form', 'horizontal', 'novalidate'); $form->addTextarea('special-request', '', 'Any Special Request?'); $php_code['textarea'][] = '$form->addTextarea(\'special-request\', \'\', \'Any Special Request?\');'; $output['textarea'][] = '
' . $form->html . '
'; $output_code['textarea'][] = trim(htmlspecialchars($form->cleanHtmlOutput($form->html))); // Select $form = new Form('my-form', 'horizontal', 'novalidate'); $form->addOption('prefix', '', 'Choose one ...', '', 'disabled, selected'); $form->addOption('prefix', 'Mr', 'Mr'); $form->addOption('prefix', 'Mrs', 'Mrs'); $form->addSelect('prefix', 'Full Name', 'required=required'); $php_code['select'][] = '$form->addOption(\'prefix\', \'\', \'Choose one ...\', \'\', \'disabled, selected\'); $form->addOption(\'prefix\', \'Mr\', \'Mr\'); $form->addOption(\'prefix\', \'Mrs\', \'Mrs\'); $form->addSelect(\'prefix\', \'Full Name\', \'required=required\');'; $output['select'][] = '
' . $form->html . '
'; $output_code['select'][] = trim(htmlspecialchars($form->cleanHtmlOutput($form->html))); $form = new Form('my-form', 'horizontal', 'novalidate'); $form->addOption('favourite-animal', '', 'Choose one ...', '', 'disabled'); $form->addOption('favourite-animal', 'Dog', 'dog', 'Pets'); $form->addOption('favourite-animal', 'cat', 'Cat', 'Pets'); $form->addOption('favourite-animal', 'rabbit', 'Rabbit', 'Pets', 'selected=selected'); $form->addOption('favourite-animal', 'lion', 'Lion', 'Wild'); $form->addOption('favourite-animal', 'mouse', 'Mouse', 'Others'); $form->addOption('favourite-animal', 'mammoth', 'Mammoth', 'Others'); $form->addOption('favourite-animal', 'duck', 'Duck', 'Others'); $form->addSelect('favourite-animal', 'Favourite animal'); $php_code['select'][] = '$form->addOption(\'favourite-animal\', \'Dog\', \'dog\', \'Pets\'); $form->addOption(\'favourite-animal\', \'cat\', \'Cat\', \'Pets\'); $form->addOption(\'favourite-animal\', \'rabbit\', \'Rabbit\', \'Pets\', \'selected=selected\'); $form->addOption(\'favourite-animal\', \'lion\', \'Lion\', \'Wild\'); $form->addOption(\'favourite-animal\', \'mouse\', \'Mouse\', \'Others\'); $form->addOption(\'favourite-animal\', \'mammoth\', \'Mammoth\', \'Others\'); $form->addOption(\'favourite-animal\', \'duck\', \'Duck\', \'Others\'); $form->addSelect(\'favourite-animal\', \'Favourite animal\');'; $output['select'][] = '
' . $form->html . '
'; $output_code['select'][] = trim(htmlspecialchars($form->cleanHtmlOutput($form->html))); $form = new Form('my-form', 'horizontal', 'novalidate'); $form->addOption('favourite-animal-2[]', 'Dog', 'dog'); $form->addOption('favourite-animal-2[]', 'cat', 'Cat'); $form->addOption('favourite-animal-2[]', 'lion', 'Lion'); $form->addOption('favourite-animal-2[]', 'mouse', 'Mouse'); $form->addOption('favourite-animal-2[]', 'mammoth', 'Mammoth'); $form->addOption('favourite-animal-2[]', 'duck', 'Duck'); $form->addOption('favourite-animal-2[]', 'rabbit', 'Rabbit'); $form->addSelect('favourite-animal-2[]', 'Favourite animal', 'multiple'); $form->addHelper('(multiple choices)', 'favourite-animal-2[]'); $php_code['select'][] = '$form->addOption(\'favourite-animal-2[]\', \'Dog\', \'dog\'); $form->addOption(\'favourite-animal-2[]\', \'cat\', \'Cat\'); $form->addOption(\'favourite-animal-2[]\', \'lion\', \'Lion\'); $form->addOption(\'favourite-animal-2[]\', \'mouse\', \'Mouse\'); $form->addOption(\'favourite-animal-2[]\', \'mammoth\', \'Mammoth\'); $form->addOption(\'favourite-animal-2[]\', \'duck\', \'Duck\'); $form->addOption(\'favourite-animal-2[]\', \'rabbit\', \'Rabbit\'); $form->addSelect(\'favourite-animal-2[]\', \'Favourite animal\', \'multiple\'); $form->addHelper(\'(multiple choices)\', \'favourite-animal-2[]\');'; $output['select'][] = '
' . $form->html . '
'; $output_code['select'][] = trim(htmlspecialchars($form->cleanHtmlOutput($form->html))); // Radio $form = new Form('my-form', 'horizontal', 'novalidate'); $form->addRadio('support-rating', 'Excellent', 'Excellent'); $form->addRadio('support-rating', 'Good', 'Good', 'checked=checked'); $form->addRadio('support-rating', 'Fair', 'Fair'); $form->addRadio('support-rating', 'Terrible', 'Terrible'); $form->printRadioGroup('support-rating', 'Please rate our support', false, 'required=required'); $php_code['radio'][] = '$form->addRadio(\'support-rating\', \'Excellent\', \'Excellent\'); $form->addRadio(\'support-rating\', \'Good\', \'Good\', \'checked=checked\'); $form->addRadio(\'support-rating\', \'Fair\', \'Fair\'); $form->addRadio(\'support-rating\', \'Terrible\', \'Terrible\'); $form->printRadioGroup(\'support-rating\', \'Please rate our support\', false, \'required=required\');'; $output['radio'][] = '
' . $form->html . '
'; $output_code['radio'][] = trim(htmlspecialchars($form->cleanHtmlOutput($form->html))); $form = new Form('my-form', 'horizontal', 'novalidate'); $form->addRadio('support-rating-2', 'Excellent', 'Excellent'); $form->addRadio('support-rating-2', 'Good', 'Good', 'checked=checked'); $form->addRadio('support-rating-2', 'Fair', 'Fair'); $form->addRadio('support-rating-2', 'Terrible', 'Terrible'); $form->printRadioGroup('support-rating-2', 'Please rate our support', true, 'required=required'); $php_code['radio'][] = '$form->addRadio(\'support-rating-2\', \'Excellent\', \'Excellent\'); $form->addRadio(\'support-rating-2\', \'Good\', \'Good\', \'checked=checked\'); $form->addRadio(\'support-rating-2\', \'Fair\', \'Fair\'); $form->addRadio(\'support-rating-2\', \'Terrible\', \'Terrible\'); $form->printRadioGroup(\'support-rating-2\', \'Please rate our support\', true, \'required=required\');'; $output['radio'][] = '
' . $form->html . '
'; $output_code['radio'][] = trim(htmlspecialchars($form->cleanHtmlOutput($form->html))); // Checkbox $form = new Form('my-form', 'horizontal', 'novalidate'); $form->addCheckbox('favourite-animal-3', 'Dog', 'dog'); $form->addCheckbox('favourite-animal-3', 'cat', 'Cat'); $form->addCheckbox('favourite-animal-3', 'duck', 'Duck'); $form->addCheckbox('favourite-animal-3', 'rabbit', 'Rabbit'); $form->printCheckboxGroup('favourite-animal-3', 'Favourite animal'); $php_code['checkbox'][] = '$form->addCheckbox(\'favourite-animal-3\', \'Dog\', \'dog\'); $form->addCheckbox(\'favourite-animal-3\', \'cat\', \'Cat\'); $form->addCheckbox(\'favourite-animal-3\', \'duck\', \'Duck\'); $form->addCheckbox(\'favourite-animal-3\', \'rabbit\', \'Rabbit\'); $form->printCheckboxGroup(\'favourite-animal-3\', \'Favourite animal\');'; $output['checkbox'][] = '
' . $form->html . '
'; $output_code['checkbox'][] = trim(htmlspecialchars($form->cleanHtmlOutput($form->html))); $form = new Form('my-form', 'horizontal', 'novalidate'); $form->addCheckbox('favourite-animal-4', 'Dog', 'dog'); $form->addCheckbox('favourite-animal-4', 'cat', 'Cat'); $form->addCheckbox('favourite-animal-4', 'duck', 'Duck'); $form->addCheckbox('favourite-animal-4', 'rabbit', 'Rabbit'); $form->printCheckboxGroup('favourite-animal-4', 'Favourite animal', false); $php_code['checkbox'][] = '$form->addCheckbox(\'favourite-animal-4\', \'Dog\', \'dog\'); $form->addCheckbox(\'favourite-animal-4\', \'cat\', \'Cat\'); $form->addCheckbox(\'favourite-animal-4\', \'duck\', \'Duck\'); $form->addCheckbox(\'favourite-animal-4\', \'rabbit\', \'Rabbit\'); $form->printCheckboxGroup(\'favourite-animal-4\', \'Favourite animal\', false);'; $output['checkbox'][] = '
' . $form->html . '
'; $output_code['checkbox'][] = trim(htmlspecialchars($form->cleanHtmlOutput($form->html))); // Button $form = new Form('my-form', 'horizontal', 'novalidate'); $form->addBtn('submit', 'submit-btn', 1, 'Send ', 'class=btn btn-success'); $content_text['button'] = '

Use $form->centerButtons(true); to center any button or button group

'; $php_code['button'][] = '$form->addBtn(\'submit\', \'submit-btn\', 1, \'Send <span class="fa fa-envelope append"></span>\', \'class=btn btn-success\');'; $output['button'][] = '
' . $form->html . '
'; $output_code['button'][] = trim(htmlspecialchars($form->cleanHtmlOutput($form->html))); $form = new Form('my-form', 'horizontal', 'novalidate'); $form->setCols(0, 12); $form->centerButtons(true); $form->addBtn('submit', 'submit-btn', 1, 'Send ', 'class=btn btn-success'); $php_code['button'][] = '$form->setCols(0, 12); $form->centerButtons(true); $form->addBtn(\'submit\', \'submit-btn\', 1, \'Send \', \'class=btn btn-success\');'; $output['button'][] = '
' . $form->html . '
'; $output_code['button'][] = trim(htmlspecialchars($form->cleanHtmlOutput($form->html))); // Button group $form = new Form('my-form', 'horizontal', 'novalidate'); $form->addBtn('submit', 'cancel-btn', 0, 'Cancel ', 'class=btn btn-danger', 'my-btn-group'); $form->addBtn('submit', 'submit-btn', 1, 'Send ', 'class=btn btn-success', 'my-btn-group'); $form->printBtnGroup('my-btn-group'); $php_code['button-group'][] = '$form->addBtn(\'submit\', \'cancel-btn\', 0, \'Cancel <span class="fa fa-ban append"></span>\', \'class=btn btn-danger\', \'my-btn-group\'); $form->addBtn(\'submit\', \'submit-btn\', 1, \'Send <span class="fa fa-envelope append"></span>\', \'class=btn btn-success\', \'my-btn-group\'); $form->printBtnGroup(\'my-btn-group\');'; $output['button-group'][] = '
' . $form->html . '
'; $output_code['button-group'][] = trim(htmlspecialchars($form->cleanHtmlOutput($form->html))); // Custom html $form = new Form('my-form', 'horizontal', 'novalidate'); $form->addHelper('Enter your name', 'name-8'); $form->addInput('text', 'name-8', '', 'Name'); $form->addHtml('

Please read this !

'); $php_code['custom-html'][] = '$form->addHelper(\'Enter your name\', \'name-8\'); $form->addInput(\'text\', \'name-8\', \'\', \'Name\'); $form->addHtml(\'<p class="alert alert-warning"><span class="fa fa-exclamation-triangle"></span> Please read this !</p>\');'; $output['custom-html'][] = '
' . $form->html . '
'; $output_code['custom-html'][] = trim(htmlspecialchars($form->cleanHtmlOutput($form->html))); // Default Values $user_id = 1; $_SESSION['user-form']['civility'] = 'Ms.'; $_SESSION['user-form']['user-name-8'] = 'Wilson'; $_SESSION['user-form']['user-first-name-8'] = 'Susan'; $_SESSION['user-form']['user-email-8'] = 'swilsone@squarespace.com'; $_SESSION['user-form']['validated'] = 1; $form_default_values = new Form('user-form'); $form_default_values->startFieldset('Update User'); $form_default_values->addInput('hidden', 'user_id', 1); $form_default_values->addRadio('civility', 'M.', 'M.'); $form_default_values->addRadio('civility', 'Mrs.', 'Mrs.'); $form_default_values->addRadio('civility', 'Ms.', 'Ms.'); $form_default_values->printRadioGroup('civility', 'Civility : '); $form_default_values->addInput('text', 'user-name-8', '', 'Name', 'size=60, required=required'); $form_default_values->addInput('text', 'user-first-name-8', '', 'First Name', 'size=60, required=required'); $form_default_values->addInput('email', 'user-email-8', '', 'email : ', 'size=60, required=required'); $form_default_values->addRadio('validated', 'Yes', 1); $form_default_values->addRadio('validated', 'No', 0); $form_default_values->printRadioGroup('validated', 'Validated'); $form_default_values->addBtn('button', 'cancel', 0, 'Cancel', 'class=btn btn-warning', 'btn-group'); $form_default_values->addBtn('submit', 'submit', 1, 'Submit ', 'class=btn btn-success', 'btn-group'); $form_default_values->printBtnGroup('btn-group'); $form_default_values->endFieldset(); $php_code['default-values-from-db'][] = '<?php use phpformbuilder\Form; use phpformbuilder\Validator\Validator; use phpformbuilder\database\Mysql; /* ============================================= start session and include form class ============================================= */ session_start(); include_once rtrim($_SERVER[\'DOCUMENT_ROOT\'], DIRECTORY_SEPARATOR) . \'/phpformbuilder/Form.php\'; /* ============================================= validation if posted ============================================= */ if ($_SERVER["REQUEST_METHOD"] == "POST" && Form::testToken(\'user-form\') === true) { include_once rtrim($_SERVER[\'DOCUMENT_ROOT\'], DIRECTORY_SEPARATOR) . \'/phpformbuilder/Validator/Validator.php\'; include_once rtrim($_SERVER[\'DOCUMENT_ROOT\'], DIRECTORY_SEPARATOR) . \'/phpformbuilder/Validator/Exception.php\'; $validator = new Validator($_POST); $required = array(\'civility\', \'user-name-8\', \'user-first-name-8\', \'user-email-8\', \'validated\'); foreach ($required as $required) { $validator->required()->validate($required); } $validator->email()->validate(\'user-email-8\'); // check for errors if ($validator->hasErrors()) { $_SESSION[\'errors\'][\'user-form\'] = $validator->getAllErrors(); } else { require_once rtrim($_SERVER[\'DOCUMENT_ROOT\'], DIRECTORY_SEPARATOR) . \'phpformbuilder/database/db-connect.php\'; require_once rtrim($_SERVER[\'DOCUMENT_ROOT\'], DIRECTORY_SEPARATOR) . \'phpformbuilder/database/Mysql.php\'; $db = new Mysql(); $filter[\'user_id\'] = Mysql::sqlValue($_POST[\'user_id\'], Mysql::SQLVALUE_NUMBER); $update[\'civility\'] = Mysql::SQLValue($_POST[\'civility\']); $update[\'user-name-8\'] = Mysql::SQLValue($_POST[\'user-name-8\']); $update[\'user-first-name-8\'] = Mysql::SQLValue($_POST[\'user-first-name-8\']); $update[\'user-email-8\'] = Mysql::SQLValue($_POST[\'user-email-8\']); $update[\'validated\'] = Mysql::SQLValue($_POST[\'validated\']); /* (disabled in demo - no database enabled) if (!$db->UpdateRows(\'users\', $update, $filter)) { $msg = \'

\' . $db->error() . \'
\' . $db->getLastSql() . \'

\' . " \n"; } else { $msg = \'

Database updated successfully !

\' . " \n"; } */ } } if(isset($_GET[\'user_id\']) && is_numeric($_GET[\'user_id\'])) { $user_id = $_GET[\'user_id\']; } if (!isset($_SESSION[\'errors\'][\'user-form\']) || empty($_SESSION[\'errors\'][\'user-form\'])) { // If no error posted /* Retrieve values from db (disabled in demo - no database enabled) $db = new Mysql(); $columns = $db->getColumnNames("users"); $qry = "SELECT * FROM users WHERE user_id=\'$user_id\'"; $db->query($qry); $row = $db->Row(); foreach ($columns as $columnName) { $_SESSION[\'user-form\'][$columnName] = $row->$columnName; } */ // values for demo $user_id = 1; $_SESSION[\'user-form\'][\'civility\'] = \'Ms.\'; $_SESSION[\'user-form\'][\'user-name-8\'] = \'Wilson\'; $_SESSION[\'user-form\'][\'user-first-name-8\'] = \'Susan\'; $_SESSION[\'user-form\'][\'user-email-8\'] = \'swilsone@squarespace.com\'; $_SESSION[\'user-form\'][\'validated\'] = 1; } $form = new form(\'user-form\'); $form->startFieldset(\'Update User\'); $form->addInput(\'hidden\', \'user_id\', $user_id); $form->addRadio(\'civility\', \'M.\', \'M.\'); $form->addRadio(\'civility\', \'Mrs.\', \'Mrs.\'); $form->addRadio(\'civility\', \'Ms.\', \'Ms.\'); $form->printRadioGroup(\'civility\', \'Civility : \'); $form->addInput(\'text\', \'user-name-8\', \'\', \'Name\', \'size=60, required=required\'); $form->addInput(\'text\', \'user-first-name-8\', \'\', \'First Name\', \'size=60, required=required\'); $form->addInput(\'user-email\', \'user-email-8\', \'\', \'user-email : \', \'size=60, required=required\'); $form->addRadio(\'validated\', \'Yes\', 1); $form->addRadio(\'validated\', \'No\', 0); $form->printRadioGroup(\'validated\', \'Validated\'); $form->addBtn(\'button\', \'cancel\', 0, \'Cancel\', \'class=btn btn-warning\', \'btn-group\'); $form->addBtn(\'submit\', \'submit\', 1, \'Submit \', \'class=btn btn-success\', \'btn-group\'); $form->printBtnGroup(\'btn-group\'); $form->endFieldset(); ?>'; $output['default-values-from-db'][] = $form_default_values->render(false, false); $output_code['default-values-from-db'][] = trim(htmlspecialchars($form_default_values->cleanHtmlOutput($form_default_values->html))); // Default values from variables if (!isset($_SESSION['errors']['test-form']) || empty($_SESSION['errors']['test-form'])) { // register default values $_SESSION['test-form']['civility-1'] = 'Ms.'; $_SESSION['test-form']['user-name-9'] = 'Wilson'; $_SESSION['test-form']['preferred-colors'] = array('blue', 'green'); } $form_values = new Form('test-form', 'horizontal', 'novalidate'); $form_values->addRadio('civility-1', 'M.', 'M.'); $form_values->addRadio('civility-1', 'Mrs.', 'Mrs.'); $form_values->addRadio('civility-1', 'Ms.', 'Ms.'); $form_values->printRadioGroup('civility-1', 'Civility : '); $form_values->addInput('text', 'user-name-9', '', 'Name', 'size=60, required'); $form_values->addOption('preferred-colors', 'red', 'red'); $form_values->addOption('preferred-colors', 'green', 'green'); $form_values->addOption('preferred-colors', 'yellow', 'yellow'); $form_values->addOption('preferred-colors', 'pink', 'pink'); $form_values->addOption('preferred-colors', 'blue', 'blue'); $form_values->addOption('preferred-colors', 'purple', 'purple'); $form_values->addOption('preferred-colors', 'black', 'black'); $form_values->addSelect('preferred-colors', 'Prefered colors', 'multiple'); $php_code['default-values-variables'][] = '// Default values from variables if (!isset($_SESSION[\'errors\'][\'test-form\']) || empty($_SESSION[\'errors\'][\'test-form\'])) { // register default values $_SESSION[\'test-form\'][\'civility-1\'] = \'Ms.\'; $_SESSION[\'test-form\'][\'user-name\'] = \'Wilson\'; $_SESSION[\'test-form\'][\'preferred-colors\'] = array(\'blue\', \'green\'); } $form = new Form(\'test-form\', \'horizontal\', \'novalidate\'); $form->addRadio(\'civility-1\', \'M.\', \'M.\'); $form->addRadio(\'civility-1\', \'Mrs.\', \'Mrs.\'); $form->addRadio(\'civility-1\', \'Ms.\', \'Ms.\'); $form->printRadioGroup(\'civility-1\', \'Civility : \'); $form->addInput(\'text\', \'user-name-9\', \'\', \'Name\', \'size=60, required\'); $form->addOption(\'preferred-colors\', \'red\', \'red\'); $form->addOption(\'preferred-colors\', \'green\', \'green\'); $form->addOption(\'preferred-colors\', \'yellow\', \'yellow\'); $form->addOption(\'preferred-colors\', \'pink\', \'pink\'); $form->addOption(\'preferred-colors\', \'blue\', \'blue\'); $form->addOption(\'preferred-colors\', \'purple\', \'purple\'); $form->addOption(\'preferred-colors\', \'black\', \'black\'); $form->addSelect(\'preferred-colors\', \'Prefered colors\', \'multiple\'); $form->render()'; $output['default-values-variables'][] = $form_values->render(false, false); $output_code['default-values-variables'][] = trim(htmlspecialchars($form->cleanHtmlOutput($form_values->render(false, false)))); // Modal form $php_code['modal-form'][] = ' <div class="text-center"> <a data-remodal-target="modal-target" class="btn btn-primary text-white btn-lg">Sign Up</a> </div> <?php $form = new Form(\'my-form\', \'horizontal\', \'novalidate\'); // add your fields here $form->modal(\'#modal-target\'); ?>'; $output['modal-form'][] = '

See examples with code here:
jquery-plugins.php#modal-example
templates

'; $output_code['modal-form'][] = '// See examples with code in templates or plugins page'; // Popover form $php_code['popover-form'][] = ' <div class="text-center"> <a href="#" id="popover-link" class="btn btn-primary text-white btn-lg">Sign Up</a> </div> <?php $form = new Form(\'my-form\', \'horizontal\', \'novalidate\'); // add your fields here $form->popover(\'#popover-link\'); ?>'; $output['popover-form'][] = '

See examples with code here:
jquery-plugins.php#popover-example
templates

'; $output_code['popover-form'][] = '// See examples with code in templates or plugins page'; // Step form $content_text['step-form'] = '

Please refer to one of these :

' . " \n"; // Accordion form $content_text['accordion-form'] = '

Please refer to this template :

' . " \n"; // validation $content_text['validation'] = '

Please refer to class-doc.php#validation-overview

' . " \n"; // email-sending $content_text['email-sending'] = '

Please refer to class-doc.php#sendMail

' . " \n"; // database-crud $content_text['database-crud'] = '

Please refer to class-doc.php#database-main

' . " \n"; $sections = array( 'Frameworks' => array( array( 'title' => 'Included frameworks', 'anchor' => 'included-frameworks', 'doc-link' => 'class-doc.html#frameworks' ), array( 'title' => 'Customize for other frameworks', 'anchor' => 'customize-for-other-frameworks', 'doc-link' => 'class-doc.html#options-customizing' ) ), 'Layout' => array( array( 'title' => 'Horizontal forms', 'anchor' => 'horizontal-forms', 'doc-link' => 'class-doc.html#construct' ), array( 'title' => 'Vertical forms', 'anchor' => 'vertical-forms', 'doc-link' => 'class-doc.html#construct' ), array( 'title' => 'Inline forms', 'anchor' => 'inline-forms', 'doc-link' => 'class-doc.html#construct' ), array( 'title' => 'Input groups', 'anchor' => 'input-groups', 'doc-link' => 'class-doc.html#groupInputs' ), array( 'title' => 'Columns', 'anchor' => 'columns', 'doc-link' => 'class-doc.html#addHtml' ) ), 'Elements' => array( array( 'title' => 'Input with label', 'anchor' => 'input-with-label', 'doc-link' => 'class-doc.php#addInput' ), array( 'title' => 'Input with placeholder', 'anchor' => 'input-with-placeholder', 'doc-link' => 'class-doc.php#addInput' ), array( 'title' => 'Input with icon', 'anchor' => 'input-with-icon', 'doc-link' => 'class-doc.php#add-icon' ), array( 'title' => 'Input with button addon', 'anchor' => 'input-with-button-addon', 'doc-link' => '' ), array( 'title' => 'Input without label', 'anchor' => 'input-without-label', 'doc-link' => 'class-doc.php#addInput' ), array( 'title' => 'Input with floating label (Material)', 'anchor' => 'input-with-floating-label', 'doc-link' => '' ), array( 'title' => 'Several fields on same line
(input groups)', 'anchor' => 'several-fields-on-same-line', 'doc-link' => '' ), array( 'title' => 'Textarea', 'anchor' => 'textarea', 'doc-link' => '' ), array( 'title' => 'Select', 'anchor' => 'select', 'doc-link' => 'class-doc.php#addSelect' ), array( 'title' => 'Radio', 'anchor' => 'radio', 'doc-link' => 'class-doc.php#addRadio' ), array( 'title' => 'Checkbox', 'anchor' => 'checkbox', 'doc-link' => 'class-doc.php#addCheckbox' ), array( 'title' => 'Button', 'anchor' => 'button', 'doc-link' => 'class-doc.php#addBtn' ), array( 'title' => 'Button group', 'anchor' => 'button-group', 'doc-link' => 'class-doc.php#printBtnGroup' ), array( 'title' => 'Custom html', 'anchor' => 'custom-html', 'doc-link' => 'class-doc.php#addHtml' ) ), 'Default Values' => array( array( 'title' => 'From database', 'anchor' => 'default-values-from-db', 'doc-link' => '' ), array( 'title' => 'From variables', 'anchor' => 'default-values-variables', 'doc-link' => '' ) ), 'Special forms' => array( array( 'title' => 'Modal form', 'anchor' => 'modal-form', 'doc-link' => '' ), array( 'title' => 'Popover form', 'anchor' => 'popover-form', 'doc-link' => '' ), array( 'title' => 'Step form', 'anchor' => 'step-form', 'doc-link' => '' ), array( 'title' => 'Accordion form', 'anchor' => 'accordion-form', 'doc-link' => '' ) ), 'Validation' => array( 'title' => 'Validation', 'anchor' => 'validation', 'doc-link' => 'class-doc.php#validation-examples' ), 'Email sending' => array( 'title' => 'Email sending', 'anchor' => 'email-sending', 'doc-link' => 'class-doc.php#sendMail' ), 'Database CRUD' => array( 'title' => 'Database CRUD', 'anchor' => 'database-crud', 'doc-link' => 'class-doc.php#database-main' ) ); function buildLeftNav($sections) { $html = ''; foreach ($sections as $section => $content) { // no subnav if (isset($content['title'])) { $html .= '' . " \n"; } else { // with subnav // main nav $html .= '' . " \n"; foreach ($content as $c) { $html .= '' . " \n"; } } } echo $html; } function buildContent($sections, $content_text, $php_code, $output, $output_code) { $html = ''; foreach ($sections as $section => $content) { $html .= '
' . " \n"; $html .= '

' . $section . '

' . " \n"; // no subnav if (isset($content['title'])) { $doc_link = ''; if (isset($content['doc-link']) && !empty($content['doc-link'])) { $doc_link = 'doc.'; } $html .= '
' . " \n"; $anchor = $content['anchor']; $html .= '

' . $content['title'] . $doc_link . '

' . " \n"; if (isset($content_text[$anchor])) { $html .= $content_text[$anchor]; } // examples if (isset($php_code[$anchor])) { $nbre = count($php_code[$anchor]); for ($i = 0; $i < $nbre; $i++) { $html .= '
' . " \n"; if ($nbre > 1) { $html .= '

Example ' . ($i + 1) . '

' . " \n"; } if (isset($php_code[$anchor][$i])) { $html .= '
' . $php_code[$anchor][$i] . '
' . " \n"; } if (isset($output[$anchor][$i])) { $html .= '
' . $output[$anchor][$i] . '
'; } if (isset($output_code[$anchor][$i])) { $uniqid = uniqid(); $html .= '

'; $html .= '
' . $output_code[$anchor][$i] . '
' . " \n"; } $html .= '
' . " \n"; } } $html .= '
' . " \n"; } else { foreach ($content as $c) { $doc_link = ''; if (isset($c['doc-link']) && !empty($content['doc-link'])) { $doc_link = 'doc.'; } $html .= '
' . " \n"; $anchor = $c['anchor']; $html .= '

' . $c['title'] . $doc_link . '

' . " \n"; if (isset($content_text[$anchor])) { $html .= $content_text[$anchor]; } // examples if (isset($php_code[$anchor])) { $nbre = count($php_code[$anchor]); for ($i = 0; $i < $nbre; $i++) { $html .= '
' . " \n"; if ($nbre > 1) { $html .= '

Example ' . ($i + 1) . '

' . " \n"; } if (isset($php_code[$anchor][$i])) { $html .= '
' . $php_code[$anchor][$i] . '
' . " \n"; } if (isset($output[$anchor][$i])) { $html .= '
' . $output[$anchor][$i] . '
'; } if (isset($output_code[$anchor][$i])) { $uniqid = uniqid(); $html .= '

'; $html .= '
' . $output_code[$anchor][$i] . '
' . " \n"; } $html .= '
' . " \n"; } } $html .= '
' . " \n"; } } $html .= '
' . " \n"; } echo $html; } ?> 'PHP Form Builder - Using functions and code samples', 'description' => 'Examples of using PHP Form Builder functions to add fields to your forms, formatting them, managing the layout and using jQuery plugins', 'canonical' => 'https://www.phpformbuilder.pro/documentation/code-samples.php', 'screenshot' => 'code-samples.png' ); include_once 'inc/page-head.php'; ?> printIncludes('css'); ?>

Code Samples