I have a contact form that is using a Send Form php file to validate and then send an email with the form contents. The area I am having issues is debugging an error, I believe it is coming from the dropdown selection in my form. The page can be viewed at Click Here

Here is the code from my php file:

function died($error) {
        // your error code can go here
        echo "We are very sorry, but there were error(s) found with the form you submitted. ";
        echo "These errors appear below.<br /><br />";
        echo $error."<br /><br />";
        echo "Please go back and fix these errors.<br /><br />";
        die();
    }

    // validation expected data exists
    if(!isset($_POST['name']) ||
        !isset($_POST['email']) ||
        !isset($_POST['phone']) ||
        !isset($_POST['help'])) {
        died('We are sorry, but there appears to be a problem with the form you submitted.');      
    }

    $name = $_POST['name']; // required
    $email_from = $_POST['email']; // required
    $phone = $_POST['phone']; // not required
    $help = $_POST['help']; // required

    $error_message = "";
    $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
  if(!preg_match($email_exp,$email_from)) {
    $error_message .= 'The Email Address you entered does not appear to be valid.<br />';
  }
    $string_exp = "/^[A-Za-z .'-]+$/";
  if(!preg_match($string_exp,$name)) {
    $error_message .= 'You need to enter your name.<br />';
  }
  if(strlen($help) < 2) {
    $error_message .= 'You did not select how we can help.<br />';
  }
  if(strlen($error_message) > 0) {
    died($error_message);
  }
    $email_message = "Form details below.\n\n";

    function clean_string($string) {
      $bad = array("content-type","bcc:","to:","cc:","href");
      return str_replace($bad,"",$string);
    }

    $email_message .= "Name: ".clean_string($name)."\n";
    $email_message .= "Email: ".clean_string($email_from)."\n";
    $email_message .= "Phone: ".clean_string($phone)."\n";
    $email_message .= "Help: ".clean_string($help)."\n";

I am still a beginner at php, can anyone point out what is causing the form to not successfully send? Thank you in advance!!

Member Avatar
LastMitch

@mgn2683

Where is your <form> </form>?

I want to see not just the php script but the form too, so I can see the problem.

The form select name is 'select' in your form, and in code you are looking for 'help' name.

so change your name to 'help'

change following line in your contact.htm

<select name='select'>

to

<select name='help'>