Location: PHPKode > scripts > WebWidgets > webwidgets/example2_form.php
<?php
/**
 * Create form in table and proccess it
 */
$start = utime();

include './Base.lib.php';
include './FormControls.lib.php';
include './FormControlSets.lib.php';

$Form = new TableForm($PHP_SELF);

$Form->setTableAttr(array('border'=>1, 'cellpadding'=>4, 'cellspacing'=>0));
$Form->setTableSize(2);

$Form->add(new CData('New User registration'), '', '', 2);

$Nick = new TextField('nick', '', 'Nick name');
$Nick->setReg('/^\w{3,20}$/i');
$Form->addFieldWithLabel($Nick);

$Email = new TextField('email', 'hide@address.com', 'Email');
$Email->setReg('/^[a-z0-9_\-.]{2,20}@[a-z0-9_\-.]{2,20}\.[a-z]{2,4}$/i');
$Form->addFieldWithLabel($Email);

$Birthday = new DateField('', 'birthday', '', 'Your birthday');
$Form->addFieldWithLabel($Birthday);

$Drink = new RadioSet('div', 'drink', 'tea', 'Drink, your prefer');
$Drink->addOption('tea');
$Drink->addOption('coffee');
$Drink->addOption('beer');
$Form->addFieldWithLabel($Drink);

$Os = new CheckBoxSet('div', 'os', '', 'System');
$Os->addOption(array('Linux', 'Solaris', 'Unix', 'Mac', 'Windows'));
$Os->setRange(1, 3);
$Os->ErrMsg = 'You should select from 1 to 3 os from list :)';
$Form->addFieldWithLabel($Os);

$Prog = new Select('prog', '', 'Programming language', array('multiple'=>'on', 'size'=>3));
$prog_lang = array(1=>'C++', 'Java', 'Pithon', 'PHP', 'Lisp', 'Ruby');
$Prog->addOption($prog_lang, '', true);
$Form->addFieldWithLabel($Prog);

$Form->add(new Submit(), '','',2);


/* print (and valid) form */

if (!$Form->isSubmit()) {
	/* show form first time */
	$Form->view();

} else {
	/* form was subitted */
	if (!$Form->valid()) {
		/* form filled incorect - show error mesage */
		echo "Some errors found while proccessing form<br>";
		echo $Form->getErrMsg();
		/* show form again */
		$Form->view();
	} else {
		/* get form values */
		$res = $Form->getValue();
		
		/* OK here our data */
		
		echo 'Nick: '.$res['nick'].'<br>';
		echo 'Email: '.$res['email'].'<br>';
		echo 'Birthday: '.$res['birthday'].'<br>';
		echo 'Drink Your prefer: '.$res['drink'].'<br>';
		echo 'Your OS: '.implode(', ', $res['os']).'<br>';
		if ($res['prog']) {
			echo 'Programming languages, Your know: ';
			
			foreach($res['prog'] as $id) {
				echo $prog_lang[$id] . ', ';
			}
			echo '<br>';
		}
	
	}
	
}


echo "<br>Page create in: ".(utime()-$start)." sec.<br>";

function utime ()
{
    $time = explode( " ", microtime());
    $usec = (double)$time[0];
    $sec = (double)$time[1];
    return $sec + $usec;
}

?>
Return current item: WebWidgets