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'][] = '';
$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'][] = '';
$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'][] = '';
$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'][] = '';
$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'][] = '';
$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'][] = '';
$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'][] = '';
$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'][] = '';
$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'][] = '';
$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'][] = '';
$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'][] = '';
$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'][] = '';
$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'][] = '';
$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'][] = '';
$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'][] = '';
$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'][] = '';
$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'][] = '';
$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'][] = '';
$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'][] = '';
$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'][] = '';
$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'][] = '';
$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'][] = '';
$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'][] = '';
$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 .= '' . $content['title'] . ' ' . " \n";
} else {
// with subnav
// main nav
$html .= '' . $section . '
' . " \n";
foreach ($content as $c) {
$html .= '' . $c['title'] . ' ' . " \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 .= '
' . " \n";
}
if (isset($output[$anchor][$i])) {
$html .= '
' . $output[$anchor][$i] . '
';
}
if (isset($output_code[$anchor][$i])) {
$uniqid = uniqid();
$html .= '
show output code
';
$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 .= '
' . " \n";
}
if (isset($output[$anchor][$i])) {
$html .= '
' . $output[$anchor][$i] . '
';
}
if (isset($output_code[$anchor][$i])) {
$uniqid = uniqid();
$html .= '
show output code
';
$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');
?>
Toggle navigation
Code Samples