Results 1 to 6 of 6

Thread: How do I add a phone number field to this php script?

  1. #1
    Join Date
    Apr 2017
    Location
    Ireland
    Posts
    3
    Thanks
    2
    Thanked 0 Times in 0 Posts

    Default How do I add a phone number field to this php script?

    Hi Folks,

    First post here and I know you'll probably want to beat me around the head with a blunt object when you see what I'm asking, but I haven't a clue when it comes to php and just trying to jump in the deep end and get this contact form up and running! It's currently working, but I need to add a phone number field, I can probably add it to the contact form, but what and where would I add to the php script?

    I'd appreciate if someone could take a minute and let me know what to do here...!

    Here's the form:

    Code:
     <form class="form-horizontal" name="commentform" method="post" action="modal_sendmail.php">
                                    <div class="form-group">
                                      <label class="control-label col-md-4" for="first_name">First Name</label>
                                      <div class="col-md-6 input-group">
                                        <span class="input-group-addon"><i class="fa fa-user fa-fw" style="color:gray"></i></span>
                                        <input type="text" class="form-control" id="first_name" name="first_name" placeholder="First Name"/>
                                      </div>
                                    </div>
                                    <div class="form-group">
                                      <label class="control-label col-md-4" for="last_name">Last Name</label>
                                      <div class="col-md-6 input-group">
                                        <span class="input-group-addon"><i class="fa fa-user fa-fw" style="color:gray"></i></span>
                                        <input type="text" class="form-control" id="last_name" name="last_name" placeholder="Last Name"/>
                                      </div>
                                    </div>
                                    <div class="form-group">
                                      <label class="control-label col-md-4" for="email">Email Address</label>
                                      <div class="col-md-6 input-group">
                                        <span class="input-group-addon"><i class="fa fa-envelope fa-fw" style="color:gray"></i></span>
                                        <input type="email" class="form-control" id="email" name="email" placeholder="Email Address"/>
                                      </div>
                                    </div>
                                    <div class="form-group">
                                      <label class="control-label col-md-4" for="comment">Question or Comment</label>
                                      <div class="col-md-6 input-group">
                                        <span class="input-group-addon"><i class="fa fa-comments fa-fw" style="color:gray"></i></span>
                                        <textarea rows="6" class="form-control" id="comments" name="comments" placeholder="Your question or comment here"></textarea>
                                      </div>
                                    </div>
                                    <div class="form-group modal-footer">
                                      <div class="col-md-6">
                                        <button type="submit" value="Submit" class="btn btn-custom pull-right">Send</button>
                                      </div>
                                    </div>
                                  </form>
    And here's the php script:

    Code:
    <?php
    if(isset($_POST['email'])) {
     
        // EDIT THE 2 LINES BELOW AS REQUIRED
        $email_to = "blah@blah.com";
        $email_subject = "Mail from contact form";
     
        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['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    
        $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\s.'-]+$/";
      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 .= "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);
    sleep(2);
    echo "<meta http-equiv='refresh' content=\"0; url=http://www.blah@blah.com/thank-you.php\">";
    ?>
     
    <?php
    }
    ?>
    Thanks people!

  2. #2
    Join Date
    Mar 2017
    Posts
    3
    Thanks
    0
    Thanked 1 Time in 1 Post

    Default

    Dear Searchmehead,

    Try this one; our experienced developer suggested this,

    :-)



    +++++++++++++FORM +++++++
    Code:
    <form class="form-horizontal" name="commentform" method="post" action="modal_sendmail.php">
                                    <div class="form-group">
                                      <label class="control-label col-md-4" for="first_name">First Name</label>
                                      <div class="col-md-6 input-group">
                                        <span class="input-group-addon"><i class="fa fa-user fa-fw" style="color:gray"></i></span>
                                        <input type="text" class="form-control" id="first_name" name="first_name" placeholder="First Name"/>
                                      </div>
                                    </div>
                                    <div class="form-group">
                                      <label class="control-label col-md-4" for="last_name">Last Name</label>
                                      <div class="col-md-6 input-group">
                                        <span class="input-group-addon"><i class="fa fa-user fa-fw" style="color:gray"></i></span>
                                        <input type="text" class="form-control" id="last_name" name="last_name" placeholder="Last Name"/>
                                      </div>
                                    </div>
                                    <div class="form-group">
                                      <label class="control-label col-md-4" for="email">Email Address</label>
                                      <div class="col-md-6 input-group">
                                        <span class="input-group-addon"><i class="fa fa-envelope fa-fw" style="color:gray"></i></span>
                                        <input type="email" class="form-control" id="email" name="email" placeholder="Email Address"/>
                                      </div>
                                    </div>
                                    <div class="form-group">
                                      <label class="control-label col-md-4" for="phone_number">Phone Number</label>
                                      <div class="col-md-6 input-group">
                                        <span class="input-group-addon"><i class="fa fa-envelope fa-fw" style="color:gray"></i></span>
                                        <input type="number" class="form-control" id="phone_number" name="phone_number" placeholder="Phone Number"/>
                                      </div>
                                    </div>
                                    <div class="form-group">
                                      <label class="control-label col-md-4" for="comment">Question or Comment</label>
                                      <div class="col-md-6 input-group">
                                        <span class="input-group-addon"><i class="fa fa-comments fa-fw" style="color:gray"></i></span>
                                        <textarea rows="6" class="form-control" id="comments" name="comments" placeholder="Your question or comment here"></textarea>
                                      </div>
                                    </div>
                                    <div class="form-group modal-footer">
                                      <div class="col-md-6">
                                        <button type="submit" value="Submit" class="btn btn-custom pull-right">Send</button>
                                      </div>
                                    </div>
                                  </form>

    +++++++++++PHP SCRIPT TO PROCESS FORM +++++++++++

    PHP Code:
    <?php
    if(isset($_POST['email'])) {
     
        
    // EDIT THE 2 LINES BELOW AS REQUIRED
        
    $email_to "blah@blah.com";
        
    $email_subject "Mail from contact form";
     
        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['phone_number']) ||
            !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   
        
    $phone_number $_POST['phone_number']; // 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\s.'-]+$/";
      if(!
    preg_match($string_exp,$first_name)) {
        
    $error_message .= 'The First Name you entered does not appear to be valid.<br />';
      }
      
      
    $number_exp "/^[0-9\s.'-]+$/";
      if(!
    preg_match($number_exp,$phone_number)) {
          
    $error_message .= 'The Phone Number 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 .= "Phone Number : ".clean_string($phone_number)."\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);
    sleep(2);
    echo 
    "<meta http-equiv='refresh' content=\"0; url=http://www.blah@blah.com/thank-you.php\">";
    ?>
     
    <?php
    }
    ?>
    Last edited by jscheuer1; 04-06-2017 at 01:44 PM. Reason: format code

  3. The Following User Says Thank You to Tabassum For This Useful Post:

    ScratchMeHead (04-06-2017)

  4. #3
    Join Date
    Apr 2017
    Location
    Ireland
    Posts
    3
    Thanks
    2
    Thanked 0 Times in 0 Posts

    Default

    Hey Tabassum,

    That worked perfectly for me. I realise that it was a pure beginner request that I posted, but we all have to start somewhere so Thank You for helping me with this one. I've gone through and compared both versions of the script and can see what's been added.

    At first it didn't work for me because I removed the
    Code:
    <?php
    } ?>
    from the end of the script, I presumed it was there in error as it has an opening and closing tag with just a bracket im between, I didn't know what it was for. Do you know what its purpose is in this script?

    Once again, Thank you for your help..>!

  5. #4
    Join Date
    Mar 2005
    Location
    SE PA USA
    Posts
    30,495
    Thanks
    82
    Thanked 3,449 Times in 3,410 Posts
    Blog Entries
    12

    Default

    When you have something like that in PHP it generally allows you to put in optional presentational text (HTML, javascript, and/or just plain text) just above the <?php tag. In this particular case, since it's outputting a meta tag redirect (which can be disabled in the browser), one could put in a link to the redirect as a fallback. But I would be inclined to use a PHP header redirect (which cannot be overridden) instead. Also I think "died" should be "die", but not having experience with the code, cannot say for sure.
    - John
    ________________________

    Show Additional Thanks: International Rescue Committee - Donate or: The Ocean Conservancy - Donate or: PayPal - Donate

  6. The Following User Says Thank You to jscheuer1 For This Useful Post:

    ScratchMeHead (04-08-2017)

  7. #5
    Join Date
    Apr 2017
    Location
    Ireland
    Posts
    3
    Thanks
    2
    Thanked 0 Times in 0 Posts

    Default

    Hmm - thanks for that John, I'll take a look at header redirect and see what that's all about. I'll take a look at the die section too. It'll be a few days before I can set aside time for it though, I'm off to cut trees that are running wild in the garden I don't suppose you have a script that shred branches? Chuckle! Thanks again...

  8. #6
    Join Date
    Mar 2017
    Posts
    3
    Thanks
    0
    Thanked 1 Time in 1 Post

    Default

    You are most Welcome ScratchMeHead!!!

Similar Threads

  1. adding phone number to header of site
    By powell in forum CSS
    Replies: 6
    Last Post: 11-30-2011, 08:59 PM
  2. Replies: 2
    Last Post: 09-05-2010, 07:20 PM
  3. Replies: 7
    Last Post: 04-21-2010, 08:03 PM
  4. Phone Number ( 0 ) validation
    By dchopda in forum JavaScript
    Replies: 3
    Last Post: 02-09-2010, 03:39 PM
  5. Phone Number Validation
    By dchopda in forum JavaScript
    Replies: 1
    Last Post: 01-27-2010, 06:46 AM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •