Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 4 of 4
  1. #1
    New Coder
    Join Date
    Feb 2012
    Posts
    14
    Thanks
    7
    Thanked 0 Times in 0 Posts

    Contact form Send to recipent based on selection with a dropdown select box

    I am creating a website for a client and this client has multiple companies. He wants a contact form on his site with a dropdown menu where you can select one of the companies and when you submit the form it automatically sends the info to the email address of that company. For example when you select company 1 it sends to example@company1.com
    How do I go about coding this form with PHP so it works?

    I have PHP code that works well for one mail recipient and Ive downloaded a FormtoEmail PHP script from http://formtoemail.com/ but I am not sure if it will work or how to code it so it will work. If you want I will attach the PHP code as well.

    Here is the HTML code for the form.
    Code:
    <fieldset>
                        	<legend><h5>Enquiry Form</h5></legend>
                            <form action="contact_us.php" method="post" name="contact" id="contact_form">
                                <div class="nput text">
                                <label><h6>Name:</h6> </label>
                                <input type="text" name="name" class="required"/>
                                </div>
                                <div class="nput text">
                                <label><h6>Email Address:</h6> </label>
                                <input type="text" name="email_address" class="required email"/>
                                </div>
                                <div class="nput text">
                                <label><h6>Contact Number:</h6> </label>
                                <input type="text" name="contact_number"  class="required"/>
                                </div>
                                <div class="nput select">
                                <label><h6>Subject:</h6> </label>
                                <select name="subject">
                                <option value="Select one:">Select one:</option>
                                    <option value="Enquiry">Enquiry</option>
                                    <option value="Testimonial">Testimonial</option>
                                    <option value="Complaint">Complaint</option>
                                </select>
                                </div>
                                <div class="nput select">
                                <label><h6>Company:</h6> </label>
                                <select name="subject">
                                <option value="Select one:">Select one:</option>
                                    <option value="Company1">Company1</option>
                                    <option value="Company2">Company2</option>
                                    <option value="Company3">Company3</option>
                                    <option value="Company4">Company4</option>
                                    <option value="Company5">Company5</option>
                                    <option value="Company6">Company6</option>
                                    <option value="Company7">Company7</option>
                                    <option value="Company8">Company8</option>    
                                </select>
                                </div>
                                <div class="nput textarea">
                                <label><h6>Message:</h6> </label>
                                <textarea name="enquiry" ></textarea>
                                </div>
        
                                <div class="nput submit">
                                <input type="submit" value="Submit Form" style="font-family: 'Neogrey Regular'; letter-spacing: 1px" />
                                </div>
                            </form>
    	</fieldset>
    PS: I dont have any knowledge with PHP, I usually just copy and paste the code and it works.

    Thank you in advance for your help

  • #2
    New Coder
    Join Date
    Sep 2011
    Location
    Blackpool
    Posts
    53
    Thanks
    7
    Thanked 1 Time in 1 Post
    You're going to need to post the PHP code to.
    Subscribe to a channel dedicated to helping people learn HTML, PHP & CSS.
    http://www.youtube.com/user/RanTutorials

  • #3
    New Coder
    Join Date
    Feb 2012
    Posts
    14
    Thanks
    7
    Thanked 0 Times in 0 Posts
    @connormcwood - Ok so here is the PHP code I normally use for only one recipient:
    PHP Code:
    <?php
     $state 
    1;
     if(isset(
    $_POST['name'])) {
        
    // multiple recipients
        
    $to  'joanoptom@absamail.co.za'// note the comma
        // subject
        
    $subject $_POST['subject'];
        
    // message
        
    $message "
        <html>
        <head>
          <title>"
    .$_POST['subject']."</title>
        </head>
        <body>
          <p>  
            Name:  "
    .$_POST['name']." <br />

            Contact Number:  "
    .$_POST['contact_number']." <br />
            
            Email: "
    .$_POST['email_address']."  <br />
            
            Enquiry: "
    .$_POST['enquiry']."  <br />
          </p>
        </body>
        </html>
        "
    ;
        
    // To send HTML mail, the Content-type header must be set
        
    $headers  'MIME-Version: 1.0' "\r\n";
        
    $headers .= 'Content-type: text/html; charset=iso-8859-1' "\r\n";
        
    // Additional headers
        
    $headers .= 'To: Joan <'.$to.'>' "\r\n";
        
    $headers .= 'From: Joan <'.$to.'>' "\r\n";
        
    // Mail it
        
    mail($to$subject$message$headers);
        
    $state 2;
     }
    ?>
    And here is the FormtoEmail script I downloaded (this is very long, sorry):
    PHP Code:
    <?php

    error_reporting
    (E_ALL E_NOTICE);

    /*

    Thank you for choosing FormToEmail by FormToEmail.com

    Version 2.5 April 16th 2009

    COPYRIGHT FormToEmail.com 2003 - 2009

    You are not permitted to sell this script, but you can use it, copy it or distribute it, providing that you do not delete this copyright notice, and you do not remove any reference or links to FormToEmail.com

    For support, please visit: http://formtoemail.com/support/

    You can get the Pro version of this script here: http://formtoemail.com/formtoemail_pro_version.php
    ---------------------------------------------------------------------------------------------------

    FormToEmail-Pro (Pro version) Features:

    Check for required fields
    Attach file uploads
    Upload files to the server
    Securimage CAPTCHA support
    reCAPTCHA support
    textCAPTCHA support
    identiPIC photo CAPTCHA
    HTML output option
    Use email templates
    Show date and time submitted
    Create Message ID
    CSV output to attachment or file
    Autoresponder (with file attachment)
    Show sender's IP address
    Block IP addresses
    Block web addresses or rude words
    Block gibberish (MldMtrPAgZq etc)
    Block gobbledegook characters (   etc)
    Pre-populate the form
    Show errors on the form page
    Check for a set cookie
    Set encoding (utf-8 etc)
    Ignore fields
    Sort fields
    Auto redirect to "Thank You" page
    HTML template for "Thank You" page
    No branding
    Free upgrades for life

    ---------------------------------------------------------------------------------------------------

    Confused by PHP and PERL scripts?  Don't have PHP on your server?  Can't send email from your server?

    Try our remotely hosted form service:

    http://FormToEmailRemote.com

    ---------------------------------------------------------------------------------------------------

    FormToEmail DESCRIPTION

    FormToEmail is a contact-form processing script written in PHP. It allows you to place a form on your website which your visitors can fill out and send to you.  The contents of the form are sent to the email address (or addresses) which you specify below.  The form allows your visitors to enter their name, email address and comments.  The script will not allow a blank form to be sent.

    Your visitors (and nasty spambots!) cannot see your email address.  The script cannot be hijacked by spammers.

    When the form is sent, your visitor will get a confirmation of this on the screen, and will be given a link to continue to your homepage, or other page if you specify it.

    Should you need the facility, you can add additional fields to your form, which this script will also process without making any additional changes to the script.  You can also use it to process other forms.  The script will handle the "POST" or "GET" methods.  It will also handle multiple select inputs and multiple check box inputs.  If using these, you must name the field as an array using square brackets, like so: <select name="fruit[]" multiple>.  The same goes for check boxes if you are using more than one with the same name, like so: <input type="checkbox" name="fruit[]" value="apple">Apple<input type="checkbox" name="fruit[]" value="orange">Orange<input type="checkbox" name="fruit[]" value="banana">Banana

    ** PLEASE NOTE **  If you are using the script to process your own forms (or older FormToEmail forms) you must ensure that the email field is named correctly in your form, like this for example: <input type="text" name="email">.  Note the lower case "email".  If you don't do this, the visitor's email address will not be available to the script and the script won't be able to check the validity of the email, amongst other things.  If you are using the form code below, you don't need to check for this.

    This is a PHP script.  In order for it to run, you must have PHP (version 4.1.0 or later) on your webhosting account, and have the PHP mail() function enabled and working.  If you are not sure about this, please ask your webhost about it.

    SETUP INSTRUCTIONS

    Step 1: Put the form on your webpage
    Step 2: Enter your email address and (optional) continue link below
    Step 3: Upload the files to your webspace

    Step 1:

    To put the form on your webpage, copy the code below as it is, and paste it into your webpage:

    <form action="FormToEmail.php" method="post">
    <table border="0" style="background:#ececec" cellspacing="5">
    <tr align="left"><td>Name</td><td><input type="text" size="30" name="name"></td></tr>
    <tr align="left"><td>Email address</td><td><input type="text" size="30" name="email"></td></tr>
    <tr align="left"><td valign="top">Comments</td><td><textarea name="comments" rows="6" cols="30"></textarea></td></tr>
    <tr align="left"><td>&nbsp;</td><td><input type="submit" value="Send"><font face="arial" size="1">&nbsp;&nbsp;Created with <a href="http://FormToEmail.com">FormToEmail.com</a></font></td></tr>
    </table>
    </form>

    Step 2:

    Enter your email address.

    Enter the email address below to send the contents of the form to.  You can enter more than one email address separated by commas, like so: $my_email = "info@example.com"; or $my_email = "bob@example.com,sales@example.co.uk,jane@example.com";

    */

    $my_email "delete these words and put the email address only in here between the quotes";

    /*

    Optional.  Enter a From: email address.  Only do this if you know you need to.  By default, the email you get from the script will show the visitor's email address as the From: address.  In most cases this is desirable.  On the majority of setups this won't be a problem but a minority of hosts insist that the From: address must be from a domain on the server.  For example, if you have the domain example.com hosted on your server, then the From: email address must be something@example.com (See your host for confirmation).  This means that your visitor's email address will not show as the From: address, and if you hit "Reply" to the email from the script, you will not be replying to your visitor.  You can get around this by hard-coding a From: address into the script using the configuration option below.  Enabling this option means that the visitor's email address goes into a Reply-To: header, which means you can hit "Reply" to respond to the visitor in the conventional way.  (You can also use this option if your form does not collect an email address from the visitor, such as a survey, for example, and a From: address is required by your email server.)  The default value is: $from_email = "";  Enter the desired email address between the quotes, like this example: $from_email = "contact@example.com";  In these cases, it is not uncommon for the From: ($from_email) address to be the same as the To: ($my_email) address, which on the face of it appears somewhat goofy, but that's what some hosts require.

    */

    $from_email "";

    /*

    Optional.  Enter the continue link to offer the user after the form is sent.  If you do not change this, your visitor will be given a continue link to your homepage.

    If you do change it, remove the "/" symbol below and replace with the name of the page to link to, eg: "mypage.htm" or "http://www.elsewhere.com/page.htm"

    */

    $continue "/";

    /*

    Step 3:

    Save this file (FormToEmail.php) and upload it together with your webpage containing the form to your webspace.  IMPORTANT - The file name is case sensitive!  You must save it exactly as it is named above!

    THAT'S IT, FINISHED!

    You do not need to make any changes below this line.

    */

    $errors = array();

    // Remove $_COOKIE elements from $_REQUEST.

    if(count($_COOKIE)){foreach(array_keys($_COOKIE) as $value){unset($_REQUEST[$value]);}}

    // Validate email field.

    if(isset($_REQUEST['email']) && !empty($_REQUEST['email']))
    {

    $_REQUEST['email'] = trim($_REQUEST['email']);

    if(
    substr_count($_REQUEST['email'],"@") != || stristr($_REQUEST['email']," ") || stristr($_REQUEST['email'],"\\") || stristr($_REQUEST['email'],":")){$errors[] = "Email address is invalid";}else{$exploded_email explode("@",$_REQUEST['email']);if(empty($exploded_email[0]) || strlen($exploded_email[0]) > 64 || empty($exploded_email[1])){$errors[] = "Email address is invalid";}else{if(substr_count($exploded_email[1],".") == 0){$errors[] = "Email address is invalid";}else{$exploded_domain explode(".",$exploded_email[1]);if(in_array("",$exploded_domain)){$errors[] = "Email address is invalid";}else{foreach($exploded_domain as $value){if(strlen($value) > 63 || !preg_match('/^[a-z0-9-]+$/i',$value)){$errors[] = "Email address is invalid"; break;}}}}}}

    }

    // Check referrer is from same site.

    if(!(isset($_SERVER['HTTP_REFERER']) && !empty($_SERVER['HTTP_REFERER']) && stristr($_SERVER['HTTP_REFERER'],$_SERVER['HTTP_HOST']))){$errors[] = "You must enable referrer logging to use the form";}

    // Check for a blank form.

    function recursive_array_check_blank($element_value)
    {

    global 
    $set;

    if(!
    is_array($element_value)){if(!empty($element_value)){$set 1;}}
    else
    {

    foreach(
    $element_value as $value){if($set){break;} recursive_array_check_blank($value);}

    }

    }

    recursive_array_check_blank($_REQUEST);

    if(!
    $set){$errors[] = "You cannot send a blank form";}

    unset(
    $set);

    // Display any errors and exit if errors exist.

    if(count($errors)){foreach($errors as $value){print "$value<br>";} exit;}

    if(!
    defined("PHP_EOL")){define("PHP_EOL"strtoupper(substr(PHP_OS,0,3) == "WIN") ? "\r\n" "\n");}

    // Build message.

    function build_message($request_input){if(!isset($message_output)){$message_output ="";}if(!is_array($request_input)){$message_output $request_input;}else{foreach($request_input as $key => $value){if(!empty($value)){if(!is_numeric($key)){$message_output .= str_replace("_"," ",ucfirst($key)).": ".build_message($value).PHP_EOL.PHP_EOL;}else{$message_output .= build_message($value).", ";}}}}return rtrim($message_output,", ");}

    $message build_message($_REQUEST);

    $message $message PHP_EOL.PHP_EOL."-- ".PHP_EOL."Thank you for using FormToEmail from http://FormToEmail.com";

    $message stripslashes($message);

    $subject "FormToEmail Comments";

    $subject stripslashes($subject);

    if(
    $from_email)
    {

    $headers "From: " $from_email;
    $headers .= PHP_EOL;
    $headers .= "Reply-To: " $_REQUEST['email'];

    }
    else
    {

    $from_name "";

    if(isset(
    $_REQUEST['name']) && !empty($_REQUEST['name'])){$from_name stripslashes($_REQUEST['name']);}

    $headers "From: {$from_name} <{$_REQUEST['email']}>";

    }

    mail($my_email,$subject,$message,$headers);

    ?>

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

    <html>

    <head>
    <title>Form To Email PHP script from FormToEmail.com</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <body bgcolor="#ffffff" text="#000000">

    <div>
    <center>
    <b>Thank you <?php if(isset($_REQUEST['name'])){print stripslashes($_REQUEST['name']);} ?></b>
    <br>Your message has been sent
    <p><a href="<?php print $continue?>">Click here to continue</a></p>
    <p><b>FormToEmail</b> by <a href="http://FormToEmail.com">FormToEmail.com</a></p>
    </center>
    </div>

    </body>
    </html>

  • #4
    New Coder
    Join Date
    Feb 2012
    Posts
    14
    Thanks
    7
    Thanked 0 Times in 0 Posts
    Oops, just ignore the email address in the first code, forgot to remove it.


  •  

    Posting Permissions

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