htmlobject_formbuilder.php
<?php
require_once('../htmlobject.class.php');
$html = new htmlobject('../');
$html->debug();
$formbuilder = $html->formbuilder();
$formbuilder->box_css = 'htmlobject_box';
$formbuilder->display_errors = true;
## Add plain text
$formbuilder->add('This is plaintext', 'plaintext');
## Add an object
$div = $html->div();
$div->style = 'border: 1px solid blue';
$div->add('div text');
$formbuilder->add($div, 'divobject');
## Add Input - Required
$data['name']['label'] = 'Name';
$data['name']['required'] = true;
$data['name']['validate']['regex'] = '/^[a-z0-9~._-]+$/i';
$data['name']['validate']['errormsg'] = 'string must be a-z0-9~._-';
$data['name']['object']['type'] = 'input';
$data['name']['object']['attrib']['type'] = 'text';
$data['name']['object']['attrib']['name'] = 'names[test]';
## Add Input - Static
$data['name1']['label'] = 'Static Value';
$data['name1']['static'] = true;
$data['name1']['object']['type'] = 'htmlobject_input';
$data['name1']['object']['attrib']['type'] = 'text';
$data['name1']['object']['attrib']['name'] = 'static';
$data['name1']['object']['attrib']['value'] = 'static value';
## Add Checkbox
$data['cbox']['label'] = 'cbox';
$data['cbox']['required'] = true;
$data['cbox']['object']['type'] = 'htmlobject_input';
$data['cbox']['object']['attrib']['type'] = 'checkbox';
$data['cbox']['object']['attrib']['name'] = 'cbox444';
$data['cbox']['object']['attrib']['value'] = 'cbox value';
## Add Textarea
$data['tarea']['label'] = 'textarea';
$data['tarea']['required'] = true;
$data['tarea']['object']['type'] = 'htmlobject_textarea';
$data['tarea']['object']['attrib']['name'] = 'tarea';
$data['tarea']['object']['attrib']['maxlength'] = 10;
$data['tarea']['object']['attrib']['minlength'] = 5;
## Add Select
$data['select']['label'] = 'select';
$data['select']['required'] = true;
$data['select']['object']['type'] = 'htmlobject_select';
$data['select']['object']['attrib']['name'] = 'select444[]';
$data['select']['object']['attrib']['multiple'] = true;
$data['select']['object']['attrib']['index'] = array(0,1);
$data['select']['object']['attrib']['options'] = array(array("value1", "label1"), array("value2", "label2"));
## Add Input from Object
$input = $html->input();
$input->name = 'names[demo]';
$data['obj']['label'] = 'object';
$data['obj']['static'] = true;
$data['obj']['object'] = $input;
## Add Submit
$data['submit']['object']['type'] = 'htmlobject_input';
$data['submit']['object']['attrib']['type'] = 'submit';
$data['submit']['object']['attrib']['name'] = 'submit';
$data['submit']['object']['attrib']['value'] = 'submit this form';
$formbuilder->add($data);
## Add single object
$input = $html->input();
$input->name = 'single';
$input->value = 'single object';
$formbuilder->add($input, 'single');
## Overwrite values
$input = $html->input();
$input->name = 'fred';
$input->value = 'test';
$x['obj']['required'] = true;
$x['obj']['static'] = false;
$x['obj']['object'] = $input;
$x['single']['label'] = 'injected label';
$formbuilder->add($x);
$formbuilder->set_label('obj', 'Object');
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>PHP HTMLObjects / Formbuilder Example</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<style type="text/css">
.<?php echo $formbuilder->box_css;?>.error {
color:red;
}
.<?php echo $formbuilder->box_css;?> .errormsg {
background:yellow;
border: 1px solid;
}
</style>
</head>
<body>
<?php
$error = $formbuilder->get_errors();
if(isset($error)) {
echo 'ERRORS';
$html->help($formbuilder->get_errors());
}
## Inject an Error
$formbuilder->set_error('name1', 'this errormessage is injected');
?>
<?php echo $formbuilder->get_string(); ?>
<?php $html->help($formbuilder->get_static('name1')); ?>
<?php $html->help($formbuilder); ?>
</body>
</html>