Posted this before but the code had a bad format. 'm trying to fix this so the the values are only invalid if they do not match the Regex. What should I fix?
<?php ini_set("display_errors", 1); // Turns on error reporting for this program. error_reporting(E_ALL | E_STRICT); //Show all possible problems to browser. $elements = array( 'selected_play' => "", 'numberoftickets' => "", 'first-name' => "", 'last-name' => "", 'address' => "", 'city' => "", 'state' => "", 'zip' => "", 'email' =>"", 'creditcard' => "", 'creditcard-number' => "", 'cvv-number' => ""); $invalidElements = array(); foreach (array_keys($elements) as $newKey) { $value = trim($_POST[$newKey]); /* I think I need to fix this some how*/ if (!isset($value)) { } if(empty($value)){ $invalidElements[$newKey] = $invalid_error_message; preg_replace("/\-/", " ", $value); } /* Not sure if $newKey should be placed here */ switch ($newKey) { case 'first-name': if (!preg_match("[a-zA-Z]{3,30}", $value)) { $invalid_error_message = "First Name"; } else { return true; } break; case 'last-name': if (!preg_match("[a-zA-Z]{3,30}", $value)) { $invalid_error_message = "Last Name"; } else { return true; } break; case 'address': if (!preg_match("d{1,3}\s[a-zA-Z]{2,30}\s[a-zA-Z]{2,10}", $value)) { $invalid_error_message = "Address"; } else { return true; } break; case 'city': if (!preg_match("[a-zA-Z]{3,30}", $value)) { $invalid_error_message = "City"; } else { return true; } break; case 'state': if (!preg_match("/^\w{2}$/'", $value)) { $invalid_error_message = "State"; } else { return true; } break; case 'zip': if (!preg_match("/^[0-9]{5}(?:-[0-9]{4})?$/", $value)) { $invalid_error_message = "Zip Code"; } else { return true; } break; case 'email': if (!preg_match("/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)* (\.\w{2,3})+$/",$value)) { $invalid_error_message = "Email"; } else { return true; } break; case 'creditcard-number': if (!preg_match("/(d{15,16})/", $value)) { $invalid_error_message = "Credit Card Number"; } else { return true; } break; case 'cvv-number': if (!preg_match("/(d{3,4})/", $value)) { $invalid_error_message = "CVV number"; } else { return true; } break; } $elements[$newKey] = $value; } ?> <?php echo "The following errors were found in the purchase form. Please return, and fill out the form again.
"; /*Not sure if I have the right statement here */ foreach ($invalidElements as $value => $invalid_error_message) { echo "The form is missing a field: $invalid_error_message
"; } if (count($invalidElements) > 0){ echo "Use your browser's back button to return for correction.
"; } ?>