Order form with Validator Not working

Ok, so I used to be very good in HTML, PHP, and JS, but it’s been a long time since I used it. been trying to make just a simple order form for a friends business. Though I wanted it to do server side validation and emailing… But it doesn’t do anything… on submit I get no errors when there are and with no errors I get no email to my inbox…

What it is supposed to do is gather what pictures they checked and their sizes as well as a person info and email it to an email address. Though I want it to check for required areas and correct input (like email has @ and a .com in it, zip is digits only, etc… But yeah my code shows the order form and looks nice, but does nothing…

<?php
require_once "formvalidator.php";
  $error_hash = 'no';
  $show_form = true;
class MyValidator extends CustomValidator
{
	function DoValidate(&$formars,&$error_hash)
	{
        if(stristr($formars['comments'],'http://'))
        {
            $error_hash['comments']="No URLs allowed in comments";
            return false;
        }
		return true;
	}
}

  if (isset($_REQUEST['Submit'])) 
{
      $validator = new FormValidator();
      $validator->addValidation("email", "email", "<B>Email address is invalid.</B>");
      $validator->addValidation("first", "req", "<B>Please provide your first name for invoice.</B>");
      $validator->addValidation("addr", "req", "<B>Please provide your address for invoice.</B>");
      $validator->addValidation("city", "req", "<B>Please provide your city name for invoice.</B>");
      $validator->addValidation("zip", "req", "<B>Please provide your zipcode for invoice.</B>");
      $validator->addValidation("last", "req", "<B>Please provide your last name for invoice.</B>");
      $validator->addValidation("zip", "num", "<B>Numbers only in Zipcode.</B>");
      $validator->addValidation("phone", "num", "<B>Numbers only in phone number.</B>");
      if ($validator->ValidateForm()) {
          $show_form = false;
      } else {
          echo "<center><font color='#CC0000'><B>Validation Errors:</B></font></center>";
          $error_hash = $validator->GetErrors();
          foreach ($error_hash as $inpname => $inp_err) {
              echo "<center><p>$inpname : $inp_err</p></center>\n";
              $show_form = true;
          }
      }
          if ($show_form === false){
          // Grab the form vars
	  $Pic = $_REQUEST['pic[]'] ;
	  $Size = $_REQUEST['size[]'] ;
          $Email = $_REQUEST['email'];
          $Name = $_REQUEST['first'. 'last'];
          $Addr = $_REQUEST['addr'];
          $City = $_REQUEST['city'];
          $State = $_REQUEST['state'];
          $Zip = $_REQUEST['zip'];
	  $comments = $_REQUEST['comments'] ;
 
if(empty($pic)) 
  {
    echo "<center><font color='#CC0000'><B>Please Select a picture.</B></font></center>";
  } 
  else 
  {
    $r = count($pic);
    for($i=0; $i < $r; $i++)
    {
      echo "picture(s) requested $i was: " . $pic[$i] . "\r\n";
    }
  }
if(empty($size)) 
  {
    echo "<center><font color='#CC0000'><B>Please Select a picture size.</B></font></center>"; 
  } 
  else 
  {
    $r = count($size);
    for($i=0; $i < $r; $i++)
    {
      echo "Sizes(s) requested $i was: " . $size[$i] . "\r\n";
    }
  }

        //message body
        $mail_body .= "$Pic"."\r\n";
        $mail_body .= "$Size"."\r\n";
        $mail_body .= "$Email"."\r\n";
        $mail_body .= "$Name"."\r\n";
        $mail_body .= "$Addr"."\r\n";
        $mail_body .= "$City,". " $State". " $Zip"."\r\n";
        $mail_body .= "$Comments"."\r\n";
        //sending to
        $recipient = "[email protected]";
        $subject = "Order Form";
        //Headerfields
        $header = "From: " . $Email . " <" . $Email . ">\r\n";
        //mail command
        mail($recipient, $subject, $mail_body, $header);
                                   }
          echo "<div style='width:400px; margin:0 auto; border:1px solid #1e1e1e'>Your order has been sent successfully. <br>An Invoice will be either emailed or mailed to you, thank you for your order.<br>You will be redirected to the home page in a few moments...</div>";
                        //page redirect to home
                                         echo "<meta http-equiv=\"refresh\" content=\"4;url=";
                          echo "http://lmtl-linux/credit\" />";
}
  if (true == $show_form) {
?>

<form name="ordering" action="" method="GET" enctype="text/plain">
<img src="1.jpg" />
<input type="checkbox" name="pic[]" value="1">
<br />
<select name="Type" size="1" name="size[]" Value="1">
  <option value="">Select Type</option>
  <option value="Original">Original $Price</option>
  <option value="Print Small">300x500 Print $Price</option>
 <option value="Print Medium">800x600 Print $Price</option>
 <option value="Print Large">1200x1280 Print $Price</option>
 <option value="Print XLarge">1282x1400 Print $Price</option>
</select>
<br />
<img src="2.jpg" />
<input type="checkbox" name="pic[]" value="2">
<br />
<select name="Type" size="1" name="size[]" Value="2">
  <option value="">Select Type</option>
  <option value="Original">Original $Price</option>
  <option value="Print Small">300x500 Print $Price</option>
 <option value="Print Medium">800x600 Print $Price</option>
 <option value="Print Large">1200x1280 Print $Price</option>
 <option value="Print XLarge">1282x1400 Print $Price</option>
</select>
<br />
<img src="3.jpg" />
<input type="checkbox" name="size[]" Value="3">
<br />
<select name="Type" size="1" name="size3">
  <option value="">Select Type</option>
  <option value="Original">Original $Price</option>
  <option value="Print Small">300x500 Print $Price</option>
 <option value="Print Medium">800x600 Print $Price</option>
 <option value="Print Large">1200x1280 Print $Price</option>
 <option value="Print XLarge">1282x1400 Print $Price</option>
</select>
<br />
<img src="4.jpg" />
<input type="checkbox" name="pic[]" value="4">
<br />
<select name="Type" size="1" name="size[]" Value="4">
  <option value="">Select Type</option>
  <option value="Original">Original $Price</option>
  <option value="Print Small">300x500 Print $Price</option>
 <option value="Print Medium">800x600 Print $Price</option>
 <option value="Print Large">1200x1280 Print $Price</option>
 <option value="Print XLarge">1282x1400 Print $Price</option>
</select>
<br />
<img src="5.jpg" />
<input type="checkbox" name="pic[]" value="5">
<br />
<select name="Type" size="1" name="size[]" Value="5">
  <option value="">Select Type</option>
  <option value="Original">Original $Price</option>
  <option value="Print Small">300x500 Print $Price</option>
 <option value="Print Medium">800x600 Print $Price</option>
 <option value="Print Large">1200x1280 Print $Price</option>
 <option value="Print XLarge">1282x1400 Print $Price</option>
</select>
<br />
<br />
<br />
Information For Invoice: <font color="red">(Required Info = *)</font>
<br />
<input type="text" name="first" Value="First Name" size="25" onfocus="value=''"><font 

color="red">*</font>
<input type="text" name="last" Value="Last Name" size="25" onfocus="value=''"><font 

color="red">*</font>
<br />
<input type="text" name="phone" Value="Phone Number" size="25" onfocus="value=''">
<br />
<input type="text" name="email" Value="E-mail" size="30" onfocus="value=''">
<br />
<input type="text" name="addr" Value="Street Address" size="50" onfocus="value=''"><font 

color="red">*</font>
<br />
<input type="text" name="city" Value="city" size="30" onfocus="value=''"><font 

color="red">*</font>
<br />
<select name="state" size="1">
	<option value="">Select State</option>
	<option value="AK">AK</option>
	<option value="AL">AL</option>
	<option value="AR">AR</option>
	<option value="AZ">AZ</option>
	<option value="CA">CA</option>
	<option value="CO">CO</option>
	<option value="CT">CT</option>
	<option value="DC">DC</option>
	<option value="DE">DE</option>
	<option value="FL">FL</option>
	<option value="GA">GA</option>
	<option value="HI">HI</option>
	<option value="IA">IA</option>
	<option value="ID">ID</option>
	<option value="IL">IL</option>
	<option value="IN">IN</option>
	<option value="KS">KS</option>
	<option value="KY">KY</option>
	<option value="LA">LA</option>
	<option value="MA">MA</option>
	<option value="MD">MD</option>
	<option value="ME">ME</option>
	<option value="MI">MI</option>
	<option value="MN">MN</option>
	<option value="MO">MO</option>
	<option value="MS">MS</option>
	<option value="MT">MT</option>
	<option value="NC">NC</option>
	<option value="ND">ND</option>
	<option value="NE">NE</option>
	<option value="NH">NH</option>
	<option value="NJ">NJ</option>
	<option value="NM">NM</option>
	<option value="NV">NV</option>
	<option value="NY">NY</option>
	<option value="OH">OH</option>
	<option value="OK">OK</option>
	<option value="OR">OR</option>
	<option value="PA">PA</option>
	<option value="RI">RI</option>
	<option value="SC">SC</option>
	<option value="SD">SD</option>
	<option value="TN">TN</option>
	<option value="TX">TX</option>
	<option value="UT">UT</option>
	<option value="VA">VA</option>
	<option value="VT">VT</option>
	<option value="WA">WA</option>
	<option value="WI">WI</option>
	<option value="WV">WV</option>
	<option value="WY">WY</option>
</select>
<br />
<input type="text" name="zip" Value="Zipcode" size="5" onfocus="value=''"><font 

color="red">*</font>
<br />
<textarea name="comments" rows="15" cols="40" value="comments" onfocus="value=''">
  </textarea>
<br />
<input type=button value="Submit">
<input type="reset" value="Clear Form">
</form>
<?php
      }//true == $show_form
?>

Ok, I have the form at least working, sorta…

the problem now is apparently the formvalidator.php

On submit it actually takes a sec and loads but the gives this:

( ! ) Deprecated: Function eregi() is deprecated in C:\Users\Portgas D Ace\Documents\My Web Sites\Bristow Galleries\orderform\formvalidator.php on line 235 Call Stack # Time Memory Function Location 1 0.0203 372936 {main}( ) ..\buttontest3.php:0 2 0.0232 508008 FormValidator->ValidateForm( ) ..\buttontest3.php:33 3 0.0233 508168 FormValidator->ValidateObject( $validatorobj = class ValidatorObj { public $variable_name = 'email'; public $validator_string = 'email'; public $error_string = 'Email address is invalid.' }, $formvariables = array ('Type' => '', 'first' => 'First Name', 'last' => 'Last Name', 'phone' => 'Phone Number', 'email' => 'E-mail', 'addr' => 'Street Address', 'city' => 'city', 'state' => '', 'zip' => 'Zipcode', 'comments' => ' '), $error_string = '' ) ..\formvalidator.php:117 4 0.0233 508512 FormValidator->ValidateCommand( $command = 'email', $command_value = '', $input_value = 'E-mail', $default_error_message = '', $variable_name = 'email', $formvariables = array ('Type' => '', 'first' => 'First Name', 'last' => 'Last Name', 'phone' => 'Phone Number', 'email' => 'E-mail', 'addr' => 'Street Address', 'city' => 'city', 'state' => '', 'zip' => 'Zipcode', 'comments' => ' ') ) ..\formvalidator.php:163 5 0.0234 508544 FormValidator->validate_email( $email = 'E-mail' ) ..\formvalidator.php:442 Dump $_SERVER $_SERVER['REMOTE_ADDR'] = string '127.0.0.1' (length=9) $_SERVER['REQUEST_METHOD'] = string 'POST' (length=4) $_SERVER['REQUEST_URI'] = string '/bristowgalleries/orderform/buttontest3.php' (length=43) Variables in local scope (#5) $email = string 'E-mail' (length=6)

( ! ) Deprecated: Function ereg() is deprecated in C:\Users\Portgas D Ace\Documents\My Web Sites\Bristow Galleries\orderform\formvalidator.php on line 226
Call Stack

Time Memory Function Location

1 0.0203 372936 {main}( ) …\buttontest3.php:0
2 0.0232 508008 FormValidator->ValidateForm( ) …\buttontest3.php:33
3 0.0253 508512 FormValidator->ValidateObject( $validatorobj = class ValidatorObj { public $variable_name = ‘zip’; public $validator_string = ‘num’; public $error_string = ‘Numbers only in Zipcode.’ }, $formvariables = array (‘Type’ => ‘’, ‘first’ => ‘First Name’, ‘last’ => ‘Last Name’, ‘phone’ => ‘Phone Number’, ‘email’ => ‘E-mail’, ‘addr’ => ‘Street Address’, ‘city’ => ‘city’, ‘state’ => ‘’, ‘zip’ => ‘Zipcode’, ‘comments’ => ’ '), $error_string = ‘Email address is invalid.’ ) …\formvalidator.php:117
4 0.0254 508856 FormValidator->ValidateCommand( $command = ‘num’, $command_value = ‘’, $input_value = ‘Zipcode’, $default_error_message = ‘’, $variable_name = ‘zip’, $formvariables = array (‘Type’ => ‘’, ‘first’ => ‘First Name’, ‘last’ => ‘Last Name’, ‘phone’ => ‘Phone Number’, ‘email’ => ‘E-mail’, ‘addr’ => ‘Street Address’, ‘city’ => ‘city’, ‘state’ => ‘’, ‘zip’ => ‘Zipcode’, ‘comments’ => ’ ') ) …\formvalidator.php:163
5 0.0254 508936 FormValidator->test_datatype( $input_value = ‘Zipcode’, $reg_exp = ‘[^0-9]’ ) …\formvalidator.php:412
Variables in local scope (#5)
$input_value =
string ‘Zipcode’ (length=7)
$reg_exp =
string ‘[^0-9]’ (length=6)

( ! ) Deprecated: Function ereg() is deprecated in formvalidator.php on line 226
Call Stack

Time Memory Function Location

1 0.0203 372936 {main}( ) …\buttontest3.php:0
2 0.0232 508008 FormValidator->ValidateForm( ) …\buttontest3.php:33
3 0.0265 508624 FormValidator->ValidateObject( $validatorobj = class ValidatorObj { public $variable_name = ‘phone’; public $validator_string = ‘num’; public $error_string = ‘Numbers only in phone number.’ }, $formvariables = array (‘Type’ => ‘’, ‘first’ => ‘First Name’, ‘last’ => ‘Last Name’, ‘phone’ => ‘Phone Number’, ‘email’ => ‘E-mail’, ‘addr’ => ‘Street Address’, ‘city’ => ‘city’, ‘state’ => ‘’, ‘zip’ => ‘Zipcode’, ‘comments’ => ’ '), $error_string = ‘Numbers only in Zipcode.’ ) …\formvalidator.php:117
4 0.0265 508968 FormValidator->ValidateCommand( $command = ‘num’, $command_value = ‘’, $input_value = ‘Phone Number’, $default_error_message = ‘’, $variable_name = ‘phone’, $formvariables = array (‘Type’ => ‘’, ‘first’ => ‘First Name’, ‘last’ => ‘Last Name’, ‘phone’ => ‘Phone Number’, ‘email’ => ‘E-mail’, ‘addr’ => ‘Street Address’, ‘city’ => ‘city’, ‘state’ => ‘’, ‘zip’ => ‘Zipcode’, ‘comments’ => ’ ') ) …\formvalidator.php:163
5 0.0267 509048 FormValidator->test_datatype( $input_value = ‘Phone Number’, $reg_exp = ‘[^0-9]’ ) …\formvalidator.php:412
Variables in local scope (#5)
$input_value =
string ‘Phone Number’ (length=12)
$reg_exp =
string ‘[^0-9]’ (length=6)
Validation Errors:
email : Email address is invalid.

zip : Numbers only in Zipcode.

phone : Numbers only in phone number.

Your order has been sent successfully.
An Invoice will be either emailed or mailed to you, thank you for your order.
You will be redirected to the home page in 10 seconds…

Information For Invoice: (Required Info = *)

*

and line 235 is

if(ereg($reg_exp,$input_value))	{

The prolbem here is I didn’t write the formvalidator.php … I got it from a tutorial site and far as I know I followed all the instructions for adding my info the right way… any help here?

formvalidator.php

[code]<?PHP

class ValidatorObj
{
var $variable_name;
var $validator_string;
var $error_string;
}

/**

  • Base class for custom validation objects
    **/
    class CustomValidator
    {
    function DoValidate(&$formars,&$error_hash)
    {
    return true;
    }
    }

/** Default error messages*/
define(“E_VAL_REQUIRED_VALUE”,“Please enter the value for %s”);
define(“E_VAL_MAXLEN_EXCEEDED”,“Maximum length exceeded for %s.”);
define(“E_VAL_MINLEN_CHECK_FAILED”,“Please enter input with length more than %d for %s”);
define(“E_VAL_ALNUM_CHECK_FAILED”,“Please provide an alpha-numeric input for %s”);
define(“E_VAL_ALNUM_S_CHECK_FAILED”,“Please provide an alpha-numeric input for %s”);
define(“E_VAL_NUM_CHECK_FAILED”,“Please provide numeric input for %s”);
define(“E_VAL_ALPHA_CHECK_FAILED”,“Please provide alphabetic input for %s”);
define(“E_VAL_ALPHA_S_CHECK_FAILED”,“Please provide alphabetic input for %s”);
define(“E_VAL_EMAIL_CHECK_FAILED”,“Please provide a valida email address”);
define(“E_VAL_LESSTHAN_CHECK_FAILED”,“Enter a value less than %f for %s”);
define(“E_VAL_GREATERTHAN_CHECK_FAILED”,“Enter a value greater than %f for %s”);
define(“E_VAL_REGEXP_CHECK_FAILED”,“Please provide a valid input for %s”);
define(“E_VAL_DONTSEL_CHECK_FAILED”,“Wrong option selected for %s”);
define(“E_VAL_SELMIN_CHECK_FAILED”,“Please select minimum %d options for %s”);
define(“E_VAL_SELONE_CHECK_FAILED”,“Please select an option for %s”);
define(“E_VAL_EQELMNT_CHECK_FAILED”,“Value of %s should be same as that of %s”);
define(“E_VAL_NEELMNT_CHECK_FAILED”,“Value of %s should not be same as that of %s”);

/**

  • FormValidator: The main class that does all the form validations
    **/
    class FormValidator
    {
    var $validator_array;
    var $error_hash;
    var $custom_validators;

    function FormValidator()
    {
    $this->validator_array = array();
    $this->error_hash = array();
    $this->custom_validators=array();
    }

    function AddCustomValidator(&$customv)
    {
    array_push($this->custom_validators,$customv);
    }

    function addValidation($variable,$validator,$error)
    {
    $validator_obj = new ValidatorObj();
    $validator_obj->variable_name = $variable;
    $validator_obj->validator_string = $validator;
    $validator_obj->error_string = $error;
    array_push($this->validator_array,$validator_obj);
    }
    function GetErrors()
    {
    return $this->error_hash;
    }

    function ValidateForm()
    {
    $bret = true;

      $error_string="";
      $error_to_display = "";
    
      
      if(strcmp($_SERVER['REQUEST_METHOD'],'POST')==0)
      {
      	$form_variables = $_POST;
      }
      else
      {
      	$form_variables = $_GET;
      }
    
      $vcount = count($this->validator_array);
      
    
      foreach($this->validator_array as $val_obj)
      {
      	if(!$this->ValidateObject($val_obj,$form_variables,$error_string))
      	{
      		$bret = false;
              $this->error_hash[$val_obj->variable_name] = $error_string;
      	}
      }
    
      if(true == $bret && count($this->custom_validators) > 0)
      {
          foreach( $this->custom_validators as $custom_val)
      	{
      		if(false == $custom_val->DoValidate($form_variables,$this->error_hash))
      		{
      			$bret = false;
      		}
      	}
      }
      return $bret;
    

    }

    function ValidateObject($validatorobj,$formvariables,&$error_string)
    {
    $bret = true;

      $splitted = explode("=",$validatorobj->validator_string);
      $command = $splitted[0];
      $command_value = '';
    
      if(isset($splitted[1]) && strlen($splitted[1])>0)
      {
      	$command_value = $splitted[1];
      }
    
      $default_error_message="";
      
      $input_value ="";
    
      if(isset($formvariables[$validatorobj->variable_name]))
      {
       $input_value = $formvariables[$validatorobj->variable_name];
      }
    
      $bret = $this->ValidateCommand($command,$command_value,$input_value,
      							$default_error_message,
      							$validatorobj->variable_name,
      							$formvariables);
    
      
      if(false == $bret)
      {
      	if(isset($validatorobj->error_string) &&
      		strlen($validatorobj->error_string)>0)
      	{
      		$error_string = $validatorobj->error_string;
      	}
      	else
      	{
      		$error_string = $default_error_message;
      	}
    
      }//if
      return $bret;
    

    }

    function validate_req($input_value, &$default_error_message,$variable_name)
    {
    $bret = true;
    if(!isset($input_value) ||
    strlen($input_value) <=0)
    {
    $bret=false;
    $default_error_message = sprintf(E_VAL_REQUIRED_VALUE,$variable_name);
    }
    return $bret;
    }

    function validate_maxlen($input_value,$max_len,$variable_name,&$default_error_message)
    {
    $bret = true;
    if(isset($input_value) )
    {
    $input_length = strlen($input_value);
    if($input_length > $max_len)
    {
    $bret=false;
    $default_error_message = sprintf(E_VAL_MAXLEN_EXCEEDED,$variable_name);
    }
    }
    return $bret;
    }

    function validate_minlen($input_value,$min_len,$variable_name,&$default_error_message)
    {
    $bret = true;
    if(isset($input_value) )
    {
    $input_length = strlen($input_value);
    if($input_length < $min_len)
    {
    $bret=false;
    $default_error_message = sprintf(E_VAL_MINLEN_CHECK_FAILED,$min_len,$variable_name);
    }
    }
    return $bret;
    }

    function test_datatype($input_value,$reg_exp)
    {
    if(ereg($reg_exp,$input_value))
    {
    return false;
    }
    return true;
    }

    function validate_email($email)
    {
    return eregi("^[_.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+.)+[a-zA-Z]{2,6}$", $email);
    }

    function validate_for_numeric_input($input_value,&$validation_success)
    {

      $more_validations=true;
      $validation_success = true;
      if(strlen($input_value)>0)
      {
      	
      	if(false == is_numeric($input_value))
      	{
      		$validation_success = false;
      		$more_validations=false;
      	}
      }
      else
      {
      	$more_validations=false;
      }
      return $more_validations;
    

    }

    function validate_lessthan($command_value,$input_value,
    $variable_name,&$default_error_message)
    {
    $bret = true;
    if(false == $this->validate_for_numeric_input($input_value,
    $bret))
    {
    return $bret;
    }
    if($bret)
    {
    $lessthan = doubleval($command_value);
    $float_inputval = doubleval($input_value);
    if($float_inputval >= $lessthan)
    {
    $default_error_message = sprintf(E_VAL_LESSTHAN_CHECK_FAILED,
    $lessthan,
    $variable_name);
    $bret = false;
    }//if
    }
    return $bret ;
    }

    function validate_greaterthan($command_value,$input_value,$variable_name,&$default_error_message)
    {
    $bret = true;
    if(false == $this->validate_for_numeric_input($input_value,$bret))
    {
    return $bret;
    }
    if($bret)
    {
    $greaterthan = doubleval($command_value);
    $float_inputval = doubleval($input_value);
    if($float_inputval <= $greaterthan)
    {
    $default_error_message = sprintf(E_VAL_GREATERTHAN_CHECK_FAILED,
    $greaterthan,
    $variable_name);
    $bret = false;
    }//if
    }
    return $bret ;
    }

    function validate_select($input_value,$command_value,&$default_error_message,$variable_name)
    {
    $bret=false;
    if(is_array($input_value))
    {
    foreach($input_value as $value)
    {
    if($value == $command_value)
    {
    $bret=true;
    break;
    }
    }
    }
    else
    {
    if($command_value == $input_value)
    {
    $bret=true;
    }
    }
    if(false == $bret)
    {
    $default_error_message = sprintf(E_VAL_SHOULD_SEL_CHECK_FAILED,
    $command_value,$variable_name);
    }
    return $bret;
    }

    function validate_dontselect($input_value,$command_value,&$default_error_message,$variable_name)
    {
    $bret=true;
    if(is_array($input_value))
    {
    foreach($input_value as $value)
    {
    if($value == $command_value)
    {
    $bret=false;
    $default_error_message = sprintf(E_VAL_DONTSEL_CHECK_FAILED,$variable_name);
    break;
    }
    }
    }
    else
    {
    if($command_value == $input_value)
    {
    $bret=false;
    $default_error_message = sprintf(E_VAL_DONTSEL_CHECK_FAILED,$variable_name);
    }
    }
    return $bret;
    }

    function ValidateCommand($command,$command_value,$input_value,&$default_error_message,$variable_name,$formvariables)
    {
    $bret=true;
    switch($command)
    {
    case ‘req’:
    {
    $bret = $this->validate_req($input_value, $default_error_message,$variable_name);
    break;
    }

      	case 'maxlen':
      				{
      					$max_len = intval($command_value);
      					$bret = $this->validate_maxlen($input_value,$max_len,$variable_name,
      										$default_error_message);
      					break;
      				}
    
      	case 'minlen':
      				{
      					$min_len = intval($command_value);
      					$bret = $this->validate_minlen($input_value,$min_len,$variable_name,
      									$default_error_message);
      					break;
      				}
    
      	case 'alnum':
      				{
      					$bret= $this->test_datatype($input_value,"[^A-Za-z0-9]");
      					if(false == $bret)
      					{
      						$default_error_message = sprintf(E_VAL_ALNUM_CHECK_FAILED,$variable_name);
      					}
      					break;
      				}
    
      	case 'alnum_s':
      				{
      					$bret= $this->test_datatype($input_value,"[^A-Za-z0-9 ]");
      					if(false == $bret)
      					{
      						$default_error_message = sprintf(E_VAL_ALNUM_S_CHECK_FAILED,$variable_name);
      					}
      					break;
      				}
    
      	case 'num':
          case 'numeric':
      				{
      					$bret= $this->test_datatype($input_value,"[^0-9]");
      					if(false == $bret)
      					{
      						$default_error_message = sprintf(E_VAL_NUM_CHECK_FAILED,$variable_name);
      					}
      					break;							
      				}
    
      	case 'alpha':
      				{
      					$bret= $this->test_datatype($input_value,"[^A-Za-z]");
      					if(false == $bret)
      					{
      						$default_error_message = sprintf(E_VAL_ALPHA_CHECK_FAILED,$variable_name);
      					}
      					break;
      				}
      	case 'alpha_s':
      				{
      					$bret= $this->test_datatype($input_value,"[^A-Za-z ]");
      					if(false == $bret)
      					{
      						$default_error_message = sprintf(E_VAL_ALPHA_S_CHECK_FAILED,$variable_name);
      					}
      					break;
      				}
      	case 'email':
      				{
      					if(isset($input_value) && strlen($input_value)>0)
      					{
      						$bret= $this->validate_email($input_value);
      						if(false == $bret)
      						{
      							$default_error_message = E_VAL_EMAIL_CHECK_FAILED;
      						}
      					}
      					break;
      				}
      	case "lt": 
      	case "lessthan": 
      				{
      					$bret = $this->validate_lessthan($command_value,
      											$input_value,
      											$variable_name,
      											$default_error_message);
      					break;
      				}
      	case "gt": 
      	case "greaterthan": 
      				{
      					$bret = $this->validate_greaterthan($command_value,
      											$input_value,
      											$variable_name,
      											$default_error_message);
      					break;
      				}
    
      	case "regexp":
      				{
      					if(isset($input_value) && strlen($input_value)>0)
      					{
      						if(!preg_match("$command_value",$input_value))
      						{
      							$bret=false;
      							$default_error_message = sprintf(E_VAL_REGEXP_CHECK_FAILED,$variable_name);
      						}
      					}
      					break;
      				}
        case "dontselect": 
        case "dontselectchk":
        case "dontselectradio":
      				{
      					$bret = $this->validate_dontselect($input_value,
      													   $command_value,
      													   $default_error_message,
      														$variable_name);
      					 break;
      				}//case
    
        case "shouldselchk":
        case "selectradio":
                    {
                          $bret = $this->validate_select($input_value,
      					       $command_value,
      					       $default_error_message,
      						    $variable_name);
                          break;
                    }//case
        case "selmin":
      				{
      					$min_count = intval($command_value);
    
      					if(isset($input_value))
                          {
      					    if($min_count > 1)
      					    {
      					        $bret = (count($input_value) >= $min_count )?true:false;
      					    }
                              else
                              {
                                $bret = true;
                              }
                          }
      					else
      					{
      						$bret= false;
      						$default_error_message = sprintf(E_VAL_SELMIN_CHECK_FAILED,$min_count,$variable_name);
      					}
    
      					break;
      				}//case
       case "selone":
      				{
      					if(false == isset($input_value)||
      						strlen($input_value)<=0)
      					{
      						$bret= false;
      						$default_error_message = sprintf(E_VAL_SELONE_CHECK_FAILED,$variable_name);
      					}
      					break;
      				}
       case "eqelmnt":
      				{
    
      					if(isset($formvariables[$command_value]) &&
      					   strcmp($input_value,$formvariables[$command_value])==0 )
      					{
      						$bret=true;
      					}
      					else
      					{
      						$bret= false;
      						$default_error_message = sprintf(E_VAL_EQELMNT_CHECK_FAILED,$variable_name,$command_value);
      					}
      				break;
      				}
        case "neelmnt":
      				{
      					if(isset($formvariables[$command_value]) &&
      					   strcmp($input_value,$formvariables[$command_value]) !=0 )
      					{
      						$bret=true;
      					}
      					else
      					{
      						$bret= false;
      						$default_error_message = sprintf(E_VAL_NEELMNT_CHECK_FAILED,$variable_name,$command_value);
      					}
      					break;
      				}
       
      }//switch
      return $bret;
    

    }//validdate command

}

?>
[/code]

*****EDIT:

Line 226 is

if(ereg($reg_exp,$input_value))	{

and line 235 is

return eregi("^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$", $email);

Hi there,

Try just replacing ereg and eregi with preg_match

I did and i get this now:

( ! ) Warning: preg_match() [function.preg-match]: No ending delimiter '^' found in C:\Users\Portgas D Ace\Documents\My Web Sites\Bristow Galleries\orderform\formvalidator.php on line 235 Call Stack # Time Memory Function Location 1 0.0042 372936 {main}( ) ..\buttontest3.php:0 2 0.0105 508024 FormValidator->ValidateForm( ) ..\buttontest3.php:33 3 0.0106 508184 FormValidator->ValidateObject( $validatorobj = class ValidatorObj { public $variable_name = 'email'; public $validator_string = 'email'; public $error_string = 'Email address is invalid.' }, $formvariables = array ('Type' => '', 'first' => 'First Name', 'last' => 'Last Name', 'phone' => 'Phone Number', 'email' => 'E-mail', 'addr' => 'Street Address', 'city' => 'city', 'state' => '', 'zip' => 'Zipcode', 'comments' => ' '), $error_string = '' ) ..\formvalidator.php:117 4 0.0106 508528 FormValidator->ValidateCommand( $command = 'email', $command_value = '', $input_value = 'E-mail', $default_error_message = '', $variable_name = 'email', $formvariables = array ('Type' => '', 'first' => 'First Name', 'last' => 'Last Name', 'phone' => 'Phone Number', 'email' => 'E-mail', 'addr' => 'Street Address', 'city' => 'city', 'state' => '', 'zip' => 'Zipcode', 'comments' => ' ') ) ..\formvalidator.php:163 5 0.0107 508560 FormValidator->validate_email( $email = 'E-mail' ) ..\formvalidator.php:442 6 0.0107 508696 preg_match ( '^[_\\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\\.)+[a-zA-Z]{2,6}$', 'E-mail' ) ..\formvalidator.php:235 Dump $_SERVER $_SERVER['REMOTE_ADDR'] = string '127.0.0.1' (length=9) $_SERVER['REQUEST_METHOD'] = string 'POST' (length=4) $_SERVER['REQUEST_URI'] = string '/bristowgalleries/orderform/buttontest3.php' (length=43) Variables in local scope (#5) $email = string 'E-mail' (length=6)
[code] return preg_match("^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$", $email); [/code]

Ah yes, put a forward slash either end of the string:

"/^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$/"

Oh! SWEET!! That fixed it! Thanks man. But now I have hit a couple more probs lol

It seems even with an error present (in this case the email is not right)

The error shows followed by a message that says the order has been emailed to us and thank you (then it refreshes the page) and then shows the order form below it… if there’s an error the form should be shown, but if no errors then just the thank you box is supposed to show followed by a refresh…

Also the other errors don’t show up like: the zipcode and phone number being alphabetic instead of numeric and the fact no checkbox or size was selected o.0 … I’m thrown off a bit here, I have the parameters to check for all those things… how come it isn’t? Sorry to throw more of my problems at you lol :slight_smile: But the help you’ve given me has been great!

try putting @preg_match in the email validator and above it in the test_datatype, in the if() follow the function by " === false" (no quotes)

where should the “===false” go?

Ok so I got the picture and size thing to work, stupid me had them after the validation check functions and after the email function… so the were getting skipped… but the values aren’t getting filled in the come back no data each time which breaks the the php… damn it. what am I doing wrong with the check boxes and drop down?

Sponsor our Newsletter | Privacy Policy | Terms of Service