Version: .5
Type: Class
Category: HTML
License: GNU General Public License
Description: This is a simple class for handling data from forms. At the moment, it only supports the input tag with the following attributes: “text” and “radio”. At the end of the file there is a short sample and description of how to use this class.
<?php class FormHandling { var $formStructure; var $strayFormVariables; var $errorFormVariables = array(); var $passedFormVariables; var $postData; function FormHandling() { global $_POST; $this->postData = $_POST; } function ParseFormData() { reset( $this->formStructure ); while( list( $key, $val ) = each( $this->formStructure ) ) { switch( $val["type"] ) { case "int": $this->CheckInt( $key, $val ); break; case "string": $this->CheckString( $key, $val ); break; case "radio": $this->CheckRadio( $key, $val ); break; default: } } $this->StrayFormData(); } function CheckInt( $formName, $variableStructure ) { $this->postData["$formName"] += 0; if( !( $variableStructure["canBeEmpty"] ) && empty( $this->postData["$formName"] ) ) { $this->errorFormVariables[] = $formName; return; } else if( !is_int( $this->postData["$formName"] ) ) { $this->errorFormVariables[] = $formName; return; } $variableLength = strlen( $this->postData["$formName"] ); if( $variableLength < $variableStructure["minLength"] && $variableLength > $variableStructure["maxLength"] ) { $this->errorFormVariables[] = $formName; return; } else $this->passedFormVariables[] = $formName; return; } function CheckString( $formName, $variableStructure ) { if( !( $variableStructure["canBeEmpty"] ) && empty( $this->postData["$formName"] ) ) { $this->errorFormVariables[] = $formName; return; } else if( !is_string( $this->postData["$formName"] ) ) { $this->errorFormVariables[] = $formName; return; } $variableLength = strlen( $this->postData["$formName"] ); if( $variableLength < $variableStructure["minLength"] && $variableLength > $variableStructure["maxLength"] ) { $this->errorFormVariables[] = $formName; return; } else $this->passedFormVariables[] = $formName; return; } function CheckRadio( $formName, $variableStructure ) { if( !( $variableStructure["canBeEmpty"] ) && empty( $this->postData["$formName"] ) ) { $this->errorFormVariables[] = $formName; return; } if( !in_array( $this->postData["$formName"], $variableStructure["possibleValues"] ) ) { $this->errorFormVariables[] = $formName; return; } $this->passedFormVariables[] = $formName; return; } function StrayFormData() { reset( $this->postData ); while( list( $key, $val ) = each( $this->postData ) ) { if( empty( $this->formStructure["$key"] ) ) $this->strayFormVariables[] = $key; } } function DisplayStructure( $dataArray = '' ) { if( $dataArray == '' ) $dataArray = $this->formStructure; reset( $dataArray ); while( list( $key, $val ) = each( $dataArray ) ) { echo $key; if( is_array( $val ) ) { echo "<br />"; $this->DisplayStructure( $val ); } else echo " => ". $val ."<br />"; } } }