7 Replies Latest reply: Aug 8, 2012 2:48 PM by MurraySummers RSS

    PHP not pulling dropdown information

    ctsizemore23

      I have a php file that is not pulling my dropdown information in my <form>.  I've been pulling my hair out over this.  Any help would be much appreciated.  Below are my files.

       

      html:

       

      <form name="contactform" method="post" action="send_form_email.php">

      <table width="450px">

      <tr>

      <td valign="top">

        <label for="first_name">First Name *</label>

      </td>

      <td valign="top">

        <input  type="text" name="first_name" maxlength="50" size="30">

      </td>

      </tr>

      <tr>

      <td valign="top"">

        <label for="last_name">Last Name *</label>

      </td>

      <td valign="top">

        <input  type="text" name="last_name" maxlength="50" size="30">

      </td>

      </tr>

      <tr>

      <td valign="top">

        <label for="email">Email Address *</label>

      </td>

      <td valign="top">

        <input  type="text" name="email" maxlength="80" size="30">

      </td>

      </tr>

      <tr>

      <td valign="top">

        <label for="telephone">Telephone Number</label>

      </td>

      <td valign="top">

      <input  type="text" name="telephone" maxlength="30" size="30">

        </select>

      </td>

      </tr>

      <tr>

      <td valign="top">

        <label for="dropdown">Location *</label>

      </td>

      <td valign="top">

         <select name" dropdown">

        <option value="downtown">Downtown Charleston</option>

        <option value="north">North Charleston</option>

        <option value="wilmington">Wilmington</option>

        </select>

      </td>

      </tr>

      <tr>

      <td valign="top">

        <label for="comments">Comments *</label>

      </td>

      <td valign="top">

        <textarea  name="comments" maxlength="1000" cols="28" rows="6"></textarea>

      </td>

      </tr>

      <tr>

      <td colspan="2" style="text-align:right">

        <input type="submit" value="Submit">  

      </td>

      </tr>

      </table>

      </form>

       

       

       

      PHP:

       

      <?php

      if(isset($_POST['email'])) {

          

          // EDIT THE 2 LINES BELOW AS REQUIRED

          $email_to = "ctsizemore23@gmail.com";

          $email_subject = "MSS subject line";

          

          

          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['first_name']) ||

              !isset($_POST['last_name']) ||

              !isset($_POST['email']) ||

              !isset($_POST['telephone']) ||

                                      !isset($_POST['dropdown']) ||

              !isset($_POST['comments'])) {

              died('We are sorry, but there appears to be a problem with the form you submitted.');     

          }

          

          $first_name = $_POST['first_name']; // required

          $last_name = $_POST['last_name']; // required

          $email_from = $_POST['email']; // required

          $telephone = $_POST['telephone']; // not required

                      $dropdown = $_POST['dropdown']; // required

          $comments = $_POST['comments']; // 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,$first_name)) {

          $error_message .= 'The First Name you entered does not appear to be valid.<br />';

        }

        if(!preg_match($string_exp,$last_name)) {

          $error_message .= 'The Last Name you entered does not appear to be valid.<br />';

        }

        if(strlen($comments) < 2) {

          $error_message .= 'The Comments you entered do not appear to be valid.<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 .= "First Name: ".clean_string($first_name)."\n";

          $email_message .= "Last Name: ".clean_string($last_name)."\n";

          $email_message .= "Email: ".clean_string($email_from)."\n";

          $email_message .= "Telephone: ".clean_string($telephone)."\n";

                      $email_message .= "dropdown: ".clean_string($dropdown)."\n";

          $email_message .= "Comments: ".clean_string($comments)."\n";

          

          

      // create email headers

      $headers = 'From: '.$email_from."\r\n".

      'Reply-To: '.$email_from."\r\n" .

      'X-Mailer: PHP/' . phpversion();

      @mail($email_to, $email_subject, $email_message, $headers);

      ?>

       

      <!-- include your own success html here -->

       

      Thank you for contacting us. We will be in touch with you very soon.

       

      <?php

      }

      ?>

        • 1. Re: PHP not pulling dropdown information
          ctsizemore23 Community Member

          by the way.  Everything is pulling fine except for the dropdown information

          • 2. Re: PHP not pulling dropdown information
            MurraySummers CommunityMVP

            Is this a typo?

             

            <td valign="top"">

            ----------------^

             

            How about this -

             

            <select name" dropdown">

            -------------^

            • 3. Re: PHP not pulling dropdown information
              MurraySummers CommunityMVP

              Geez - how about this -

               

              <select name" dropdown">

               

              (missing the '=' sign!)

              • 4. Re: PHP not pulling dropdown information
                ctsizemore23 Community Member

                Thank you for catching the typos.  However, there must be something wrong in the php file.  It is still not pulling the "dropdown" information.

                • 5. Re: PHP not pulling dropdown information
                  MurraySummers CommunityMVP

                  This is working for me -

                   

                  <form name="contactform" method="post" action="send_form_email.php">

                  <table width="450px">

                  <tr>

                  <td valign="top">

                    <label for="first_name">First Name *</label>

                  </td>

                  <td valign="top">

                    <input  type="text" name="first_name" maxlength="50" size="30">

                  </td>

                  </tr>

                  <tr>

                  <td valign="top">

                    <label for="last_name">Last Name *</label>

                  </td>

                  <td valign="top">

                    <input  type="text" name="last_name" maxlength="50" size="30">

                  </td>

                  </tr>

                  <tr>

                  <td valign="top">

                    <label for="email">Email Address *</label>

                  </td>

                  <td valign="top">

                    <input  type="text" name="email" maxlength="80" size="30">

                  </td>

                  </tr>

                  <tr>

                  <td valign="top">

                    <label for="telephone">Telephone Number</label>

                  </td>

                  <td valign="top">

                  <input  type="text" name="telephone" maxlength="30" size="30">

                    </select>

                  </td>

                  </tr>

                  <tr>

                  <td valign="top">

                    <label for="dropdown">Location *</label>

                  </td>

                  <td valign="top">

                     <select name="dropdown">

                    <option value="downtown">Downtown Charleston</option>

                    <option value="north">North Charleston</option>

                    <option value="wilmington">Wilmington</option>

                    </select>

                  </td>

                  </tr>

                  <tr>

                  <td valign="top">

                    <label for="comments">Comments *</label>

                  </td>

                  <td valign="top">

                    <textarea  name="comments" maxlength="1000" cols="28" rows="6"></textarea>

                  </td>

                  </tr>

                  <tr>

                  <td colspan="2" style="text-align:right">

                    <input type="submit" value="Submit"> 

                  </td>

                  </tr>

                  </table>

                  </form>

                  • 6. Re: PHP not pulling dropdown information
                    ctsizemore23 Community Member

                    The form itself is working great.  However, when I fill the form out and submit the form, it is not pulling the location information.  It has to be something in the .php file.  Do you see anything within the code listed below?

                     

                     

                    <?php

                    if(isset($_POST['email'])) {

                        

                        // EDIT THE 2 LINES BELOW AS REQUIRED

                        $email_to = "ctsizemore23@gmail.com";

                        $email_subject = "MSS subject line";

                        

                        

                        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['first_name']) ||

                            !isset($_POST['last_name']) ||

                            !isset($_POST['email']) ||

                            !isset($_POST['telephone']) ||

                                                    !isset($_POST['dropdown']) ||

                            !isset($_POST['comments'])) {

                            died('We are sorry, but there appears to be a problem with the form you submitted.');     

                        }

                        

                        $first_name = $_POST['first_name']; // required

                        $last_name = $_POST['last_name']; // required

                        $email_from = $_POST['email']; // required

                        $telephone = $_POST['telephone']; // not required

                                    $dropdown = $_POST['dropdown']; // required

                        $comments = $_POST['comments']; // 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,$first_name)) {

                        $error_message .= 'The First Name you entered does not appear to be valid.<br />';

                      }

                      if(!preg_match($string_exp,$last_name)) {

                        $error_message .= 'The Last Name you entered does not appear to be valid.<br />';

                      }

                      if(strlen($comments) < 2) {

                        $error_message .= 'The Comments you entered do not appear to be valid.<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 .= "First Name: ".clean_string($first_name)."\n";

                        $email_message .= "Last Name: ".clean_string($last_name)."\n";

                        $email_message .= "Email: ".clean_string($email_from)."\n";

                        $email_message .= "Telephone: ".clean_string($telephone)."\n";

                                    $email_message .= "dropdown: ".clean_string($dropdown)."\n";

                        $email_message .= "Comments: ".clean_string($comments)."\n";

                        

                        

                    // create email headers

                    $headers = 'From: '.$email_from."\r\n".

                    'Reply-To: '.$email_from."\r\n" .

                    'X-Mailer: PHP/' . phpversion();

                    @mail($email_to, $email_subject, $email_message, $headers);

                    ?>

                     

                    <!-- include your own success html here -->

                     

                    Thank you for contacting us. We will be in touch with you very soon.

                     

                    <?php

                    }

                    ?>

                    • 7. Re: PHP not pulling dropdown information
                      MurraySummers CommunityMVP

                      What I mean was that the PHP worked for me.  No, I don't see anything there that would cause a problem nor did it.