Location: PHPKode > scripts > EZ Framework > ez-framework/ex_forms.php
<?php
# Version 1.0
require_once('../include/config.inc.php');

// Create object
$f = new form_handle();

# Notes:
#		What is nice about this class is that you can still view form elements in design
#		view and be able to drag and move them around in editors

 
#		A reference is the name of the index in the array that holds error messages
#		The refernece will be your error call back message
#		References hold error messages from failed validation
#		Example: 
#			Validation Rule:
#			array('LENMIN','minfirstname','f_name','2','not enough chars'),
#			echo $f->getError('minfirstname'); -- will output "not enough chars"
#		This is for server side error messages being redisplayed.
#		Javascript errors popup an alert window automatically

// Set allowed methods
//	('POST') ('GET') ('POST,GET')
$f->allowMethod('POST');

// Use JS validation in addition to serverside
$f->useJS();

#------------------------------------------------------------------------------------
#							+		Validation rules		+
#------------------------------------------------------------------------------------
$f->validate
(array
	(
		// Validation will only be preformed on fields that have a value
		// If you wish the field to be required on top of validation use 'REQ'
		
		// Minimum character length required if value was submitted
		// TYPE, Reference, Form Field Name, Min Length, Error Message
		array('LENMIN','f_name','f_name','2','not enough chars'),
		
		// Character length must be less then of equal to value set
		// TYPE, Reference, Form Field Name, Max Length, Error Message
		array('LENMAX','password','password1','20','too many chars'),
		
		// Require a value be entered into field or radio/checkbox/dropdown be selected
		// TYPE, Reference, Form Field Name, Error Message
		array('REQ','password','password1','password Required'),
		
		// Require field type to match a validation rule
		// These are like predefined regular expressions for common validation types
		// Avaliable types:
		// 		email, phone, zip, date, :: date mm/dd/yyyy m/d/yyyy or mm/d/yyyy or m/dd/yyyy
		//		int, numeric, float, bool,
		// 		alpha, alphint, alphanumeric, 
		// 		alpa_, alphaint_, alphanumeric_, :: + underscore
		// 		alpa_s, alphaint_s, alphanumeric_s, :: + space and underscore
		// TYPE, What Type, Reference, Form Field Name, Error Message
		array('TYPE','email','email','email1','Must be email'),
		
		// Verify a credit card number based on type of card
		// Avaliable types:
		// 		Visa, MasterCard, DinersClub, CarteBlanche, 
		//		AmericanExpress, Discover, JCB, Enroute
		// TYPE, Reference, Form Field Name Card #, Form Field Name Card Type, Error Message
		array('CC','creditcard','cardnumber','cardtype','Invalid Credit Card Number'),
		
		// Require to submitted fields be the same value
		// TYPE, Reference, Form Field Name1, Form Field Name2, Error Message
		array('EQ','password','password1','password2','Not the same passwords!'),
		
		// Validate against a user defined regular express case sensitive
		// TYPE, Regular Expression (case sensitive), Reference, Form Field Name, Error Message
		array('R','^[A-Z]','ref1','field1','Invalid value'),
		
		// Validate against a user defined regular express case insensitive
		// TYPE, Regular Expression (case insensitive), Reference, Form Field Name, Error Message
		array('RI','^[A-Z]','ref2','field2','Invalid value'),
		
		// Duplicate entry in database throws an ERROR
		// TYPE, Reference, QUERY, Error Message
		array('DUP1','login',"SELECT user_login FROM user WHERE login = '{$f->method['login']}' LIMIT 1",'User Name Already Taken'),
		
		// NO Duplicate entry in database throws an ERROR
		// TYPE, Reference, QUERY, Error Message
		array('DUP2','login',"SELECT user_login FROM user WHERE login = '{$f->method['login']}' LIMIT 1",'User Name Must Allready Be In Database'),
	)
);
#------------------------------------------------------------------------------------
#							-		Validation rules		-
#------------------------------------------------------------------------------------

// Clean all posted values via the method submitted GET or POST
$f->stripAll();

// If you need to pass validation for any reason even if above validation failed
$f->forcePass();

// If you need to fail the validation for any reason (maybe a custom validation mehtod you created)
$f->forceFail('reference');


if(isset($_POST['wassent']))
{
	// Check to see if validation passed
	if($f->pass())
		echo 'Validation Passed';
	else
		echo 'Validation Failed';
		
	// If you just want to do a DB query on validation pass then you can use
	// The SQL being passed into the function will only execute of validation passed
	$f->queryOnPass('SQL QUERY');
}
	
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Form Handle</title>
<?php
// If you are using javascript validation echo the js validation here
if(isset($f)) $f->displayJS();
?>
</head>
<body>
<?php
// Return ALL/if any errors that were generated during the validation process
// $seperate 0 = <br /> *also default
// $seperate 1 = <br /><br />
// $seperate 2 = <p>$message</p>
// $seperate 3 = <span class="$style_class">$message</span>
// $seperate 4 = <div class="$style_class">$message</div>
echo $f->getErrorBlob(4,'error');
?>
<form action="<?php echo $_SERVER["PHP_SELF"];?>" method="post" 
enctype="multipart/form-data" name="form"
<?php 
// If you are using javascript validation have the form call it on submit
if(isset($f) && !empty($f->js)) echo 'onSubmit="javascript: return validateForm(this)"'; 
?>>
	<p>First Name
		<input type="text" size="20" maxlength="20" <?php echo $f->setText('f_name'); ?> />
		<?php echo $f->getError('f_name'); ?> </p>
	<p>Last Name
		<input  type="text" size="20"  maxlength="20" <?php echo $f->setText('l_name'); ?> />
		<?php echo $f->getError('l_name'); ?> </p>
	<p>Login Name
		<input type="text" size="20" maxlength="20" <?php echo $f->setText('login'); ?> />
		<?php echo $f->getError('login'); ?> </p>
	<p>Password
		<input name="password1" type="password" size="20" id="password1" maxlength="20" />
		<?php echo $f->getError('password'); ?></p>
	<p> Retype Password
		<input name="password2" type="password" size="20" id="password2" maxlength="20" />
	</p>
	<p>E-Mail
		<input type="text" size="20" maxlength="100" <?php echo $f->setText('email1'); ?> />
		<?php echo $f->getError('email'); ?> </p>
	<p>Retype E-Mail
		<input type="text" size="20" maxlength="100" <?php echo $f->setText('email2'); ?> />
	</p>
	<p>
		1
		<input type="checkbox" value="checkbox" <?php echo $f->setCheckBox('check1'); ?>/>
		2
		<input type="checkbox" value="checkbox" <?php echo $f->setCheckBox('check2'); ?>/>
		3
		<input type="checkbox" value="checkbox" <?php echo $f->setCheckBox('check3'); ?>/>
	</p>
	<p>
		1
		<input type="radio" <?php echo $f->setRadio('rad',1); ?>/>
		2
		<input type="radio" <?php echo $f->setRadio('rad',2); ?>/>
		3
		<input type="radio" <?php echo $f->setRadio('rad',3); ?>/>
	</p>
	<p>
		<select name="selectme">
		<option <?php echo $f->setList('selectme','val1'); ?>>Value 1</option>
		<option <?php echo $f->setList('selectme','val2'); ?>>Value 2</option>
		<option <?php echo $f->setList('selectme','val3'); ?>>Value 3</option>
		</select>
	</p>
	<p>
		<select name="mult[]" multiple="multiple">
		<option <?php echo $f->setList('mult[]','val1',0,1); ?>>Value 1</option>
		<option <?php echo $f->setList('mult[]','val2',0,1); ?>>Value 2</option>
		<option <?php echo $f->setList('mult[]','val3',0,1); ?>>Value 3</option>
		</select>
	</p>
	<p>
		<textarea name="text1"><?php echo $f->setTextArea('text1'); ?></textarea>
	</p>
	<p>
		<input type="hidden" name="wassent" value="1" />
		<input alt="Submit Me" title="Submt Me!" type="submit" name="Create_User" value="Submit" />
		<input type="reset" name="Submit2" value="Reset" />
	</p>
</form>
</body>
</html>
Return current item: EZ Framework