Define('VARCHECK_FROM_POST', 0x02, True); Define('VARCHECK_FROM_GET', 0x01, True); Define('VARCHECK_MISSING', 0x00, True); class VarCheckNothingFoundException extends Exception { public function __construct() { parent::__construct('There where non of the specified Variables passed by the user.', 0x01); } } function VarCheck() { global $HTTP_POST_VARS; global $HTTP_GET_VARS; $used = Array( 'submit', 'preview', 'delete', 'poll_delete', 'poll_add', 'poll_edit', 'mode' ); $aliases = Array( 'post', 'preview', 'delete', 'poll_delete', 'add_poll_option', 'edit_poll_option', 'mode' ); $locate = Array(); $numParams = Count($params); $numMissing = 0x00; For($iter=0x00; $iter<$numParams; $iter=0x01+$iter) { $search = $used[$iter]; If( IsSet($HTTP_POST_VARS[$search]) ) { $locate[$iter] = VARCHECK_FROM_POST; } ElseIf( IsSet($HTTP_GET_VARS[$search]) ) { $locate[$iter] = VARCHECK_FROM_GET; } Else { $locate[$iter] = VARCHECK_MISSING; } Switch($locate[$iter]) { Case VARCHECK_MISSING: $buffer = Null; Break; Case VARCHECK_FROM_GET: $buffer = $HTTP_GET_VARS[$search]; Break; Case VARCHECK_FROM_POST: $buffer = $HTTP_POST_VARS[$search]; } If( $buffer !== Null ) { If( (bool) Get_Magic_Quotes_Gpc() == True ) { $buffer = StripSlashes($buffer); } $buffer = HTMLSpecialChars($buffer); $alias = $aliases[$iter]; $code = "\$".$alias." = \$buffer;"; Eval($code); } if($locate[$iter] === VARCHECK_MISSING) { $numMissing = 0x01+$numMissing; } UnSet($search); UnSet($buffer); UnSet($alias); UnSet($code); if($numMissing == $numParams Or $numMissing > $numParams) { break; } } UnSet($used); UnSet($aliases); UnSet($locate); UnSet($iter); if($numMissing == $numParams Or $numMissing > $numParams) { UnSet($numParams); UnSet($numMissing); throw new VarCheckNothingFoundException(); } UnSet($numParams); UnSet($numMissing); return True; } Try { VarCheck(); } Catch(VarCheckNothingFoundException $nothingFoundException) { if( is_callable('gettext') ) { $message = gettext($nothingFoundException->getMessage()); } else { $message = $nothingFoundException->getMessage(); } echo("Error: "); echo($message); echo("
"); UnSet($message); }