Jump to content

Contact Form w/Checkboxes to E-mail Help


monstro

Recommended Posts

Hello, i'm trying to send this form to my E-Mail (which works) but i'm also trying to get the checkboxes to appear in the E-mail Body Content. Here is the form on the .net: http://www.jchambo.com/contact.html

 

This form sends all of the information the person fills out to my E-mail and looks like this:

 

Name: name example

Website: www.website.com

Phone: phone number example

Location: location example

Position: position example

Contact Method: E-Mail

Price Range: $0 - $250

Project Length: Within One Week

Required Content: Array

Message: message example

 

Form Code on Contact.html Page:

 

<form method="POST" action="contact.php">

                    <table width="908" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td valign="top" width="290" height="50">
      <span class="style23">What is your full name? <span class="style26">*</span><br>
      <input name="Name" type="text" class="style23" size="25">
      </span></td>
      <td valign="top" width="290" height="50">
      <span class="style23">What is your phone number? <span class="style26">*</span><br>
      <input name="Phone" type="text" class="style23" size="25">
      </span></td>
    <td valign="top" width="290" height="50"><span class="style23">What is your location?<br>
        <input name="Location" type="text" class="style23" size="25">
    </span></td>
  </tr>
  <tr>
    <td valign="top" width="290" height="50"><span class="style23">What is your company's name?<br>
        <input name="Subject" type="text" class="style23" size="25">
    </span></td>
    <td valign="top" width="290" height="50">
      <span class="style23">Website URL:<br>
      <input name="Website" type="text" class="style23" size="25">
      </span></td>
    <td valign="top" width="290" height="50"><span class="style23">What is your e-mail address? <span class="style26">*</span><br>
        <input name="EmailFrom" type="text" class="style23" size="25">
    </span></td>
  </tr>
  <tr>
    <td valign="top" width="290" height="50"><span class="style23">What is your position title?<br>
        <input name="Position" type="text" class="style23" size="25">
        </span>      <p><span class="style23">Your site will need:</span></p>
        <table width="100%" height="126" border="0" cellpadding="0" cellspacing="0">
          <tr>
            <td align="left" valign="middle" class="style23"><span class="style46">
              <label>
              <input type="checkbox" name="RequiredContent[]" value="ASP" />
              ASP</label>
            </span></td>
            <td align="left" valign="middle" class="style23"><span class="style46">
              <label>
                <input type="checkbox" name="RequiredContent[]" value="JSP" />
                JSP</label>
            </span></td>
            <td align="left" valign="middle" class="style23"><span class="style46">
              <label>
                <input type="checkbox" name="RequiredContent[]" value="ShoppingCarts" />
                Shopping Carts</label>
            </span></td>
          </tr>
          <tr>
              <td align="left" valign="middle" class="style23"><span class="style46">
                <label>
                  <input type="checkbox" name="RequiredContent[]" value="Cplus" />
                  C/C++</label>
              </span></td>
              <td align="left" valign="middle" class="style23"><span class="style46">
                <label>
                  <input type="checkbox" name="RequiredContent[]" value="OSCommerce" />
                  OSCommerce</label>
              </span></td>
              <td align="left" valign="middle" class="style23"><span class="style46">
                <label>
                  <input type="checkbox" name="RequiredContent[]" value="SQL" />
                  SQL</label>
              </span></td>
          </tr>
          <tr>
              <td align="left" valign="middle" class="style23"><span class="style46">
                <label>
                  <input type="checkbox" name="RequiredContent[]" value="ColdFusion" />
                  Cold Fusion</label>
              </span></td>
              <td align="left" valign="middle" class="style23"><span class="style46">
                <label>
                  <input type="checkbox" name="RequiredContent[]" value="PaypalAPI" />
                  Paypal API</label>
              </span></td>
              <td align="left" valign="middle" class="style23"><span class="style46">
                <label>
                  <input type="checkbox" name="RequiredContent[]" value="WebSecurity" />
                  Web Security</label>
              </span></td>
          </tr>
          <tr>
              <td align="left" valign="middle" class="style23"><span class="style46">
                <label>
                  <input type="checkbox" name="RequiredContent[]" value="eCommerce" />
                  eCommerce</label>
              </span></td>
              <td align="left" valign="middle" class="style23"><span class="style46">
                <label>
                  <input type="checkbox" name="RequiredContent[]" value="PHP" />
                  PHP</label>
              </span></td>
              <td align="left" valign="middle" class="style23"><span class="style46">
                <label>
                  <input type="checkbox" name="RequiredContent[]" value="WindowsMobile" />
                  Windows Moible</label>
              </span></td>
          </tr>
          <tr>
              <td align="left" valign="middle" class="style23"><span class="style46">
                <label>
                  <input type="checkbox" name="RequiredContent[]" value="Google" />
                  Google</label>
              </span></td>
              <td align="left" valign="middle" class="style23"><span class="style46">
                <label>
                  <input type="checkbox" name="RequiredContent[]" value="PSDs" />
                  Photoshop PSD's</label>
              </span></td>
              <td align="left" valign="middle" class="style23"><span class="style46">
                <label>
                  <input type="checkbox" name="RequiredContent[]" value="WordPress" />
                  WordPress</label>
              </span></td>
          </tr>
          <tr>
              <td align="left" valign="middle" class="style23"><span class="style46">
                <label>
                  <input type="checkbox" name="RequiredContent[]" value="iPhone" />
                  iPhone</label>
              </span></td>
              <td align="left" valign="middle" class="style23"><span class="style46">
                <label>
                  <input type="checkbox" name="RequiredContent[]" value="SEO" />
                  SEO</label>
              </span></td>
              <td align="left" valign="middle" class="style23"><span class="style46">
                <label>
                  <input type="checkbox" name="RequiredContent[]" value="XML" />
                  XML</label>
              </span></td>
          </tr>
        </table>
        <p><span class="style23"><br />
          </span></p></td>
    <td valign="top" width="244" height="10">
        <span class="style23">Preferred contact method: </span><span class="style28">*</span><br />
          <label>
          <select name="ContactMethod" size="1" class="style23"  id="ContactMethod">
            <option value="E-Mail" selected="selected">E-Mail</option>
            <option value="Phone">Phone</option>
          </select>
          </label>
          <p><span class="style23">Preferred price range: </span><span class="style28">*</span><br />
          <label>
          <select name="PriceRange" size="1" class="style23"  id="PriceRange">
            <option value="$0 - $250" selected="selected">$0 - $250</option>
            <option value="$251 - $500">$251 - $500</option>
            <option value="$501 - $1,000">$501 - $1,000</option>
            <option value="$1,000 - $2,000">$1,000 - $2,000</option>
            <option value="$2,001 or Higher">$2,001 or Higher</option>
          </select>
          </label></p>
          <p><span class="style23">When do you need your project done? </span><span class="style28">*</span><br />
          <label>
          <select name="ProjectLength" size="1" class="style23"  id="ProjectLength">
            <option value="Within One Week" selected="selected">Within One Week</option>
            <option value="One - Two Weeks">One - Two Weeks</option>
            <option value="Two - Three Weeks">Two - Three Weeks</option>
            <option value="Three Weeks - Month">Three Weeks - Month</option>
            <option value="A Month - Two Months">A Month - Two Months</option>
            <option value="No Time Limit">No Time Limit</option>
          </select>
          </label></p></td>
    <td valign="top"><span class="style23">Message:<br>
        <textarea name="Message" cols="35" rows="6" class="style23"></textarea>
    </span>
      <p align="left" class="style23"><span class="style25">
<input name="submit" type="submit" class="style23" value="Send Message">
</span>Fields marked <span class="style26">*</span> are required.</td>
  </tr>
</table>
                </form> 

 

 

And here is the Contact.php Code:

 

<?php
// Website Contact Form Generator  

// get posted data into local variables
$to = "john@jchambo.com";
$EmailFrom = Trim(stripslashes($_POST['EmailFrom'])); 
$EmailTo = "john@jchambo.com";
$Subject = Trim(stripslashes($_POST['Subject'])); 
$Name = Trim(stripslashes($_POST['Name']));  
$Website = Trim(stripslashes($_POST['Website'])); 
$Message = Trim(stripslashes($_POST['Message']));
$Phone = Trim(stripslashes($_POST['Phone']));
$Location = Trim(stripslashes($_POST['Location']));
$ContactMethod = Trim(stripslashes($_POST['ContactMethod']));
$Position = Trim(stripslashes($_POST['Position']));
$PriceRange = Trim(stripslashes($_POST['PriceRange']));
$ProjectLength = Trim(stripslashes($_POST['ProjectLength']));
$RequiredContent = Trim(stripslashes($_POST['RequiredContent']));

// validation
$validationOK=true;
if (Trim($EmailFrom)=="") $validationOK=false;
if (!$validationOK) {
  print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
  exit;
}

// prepare email body text
$Body = "";
$Body .= "Name: ";
$Body .= $Name;
$Body .= "\n";
$Body .= "Website: ";
$Body .= $Website;
$Body .= "\n";
$Body .= "Phone: ";
$Body .= $Phone;
$Body .= "\n";
$Body .= "Location: ";
$Body .= $Location;
$Body .= "\n";
$Body .= "Position: ";
$Body .= $Position;
$Body .= "\n";
$Body .= "Contact Method: ";
$Body .= $ContactMethod;
$Body .= "\n";
$Body .= "Price Range: ";
$Body .= $PriceRange;
$Body .= "\n";
$Body .= "Project Length: ";
$Body .= $ProjectLength;
$Body .= "\n";
$Body .= "Required Content: ";
$Body .= $RequiredContent;
$Body .= "\n";
$Body .= "Message: ";
$Body .= $Message;
$Body .= "\n";

// send email 
$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");

// redirect to success page 
if ($success){
  print "<meta http-equiv=\"refresh\" content=\"0;URL=ok.htm\">";
}
else{
  print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
}

?>

 

If anybody could help me to get the Checkbox options sent on 1 line in the Email body ($RequiredContent) section, i'd appreciate it! Thanks!

Link to comment
Share on other sites

Hi,

 

I'm not an expert, so hope this helps

 

I see that you are using a variable name RequiredContent[] in the middle of your HTML. If " RequiredContent[]" is to be elements of an array, then I would assume you would need to switch into <?php echo $RequiredContent[]; ?> to make the variable work - else you would be overwriting the name/value pair and you would only get the last name/value pair posted.

 

Link to comment
Share on other sites

Since the check box group is an array, you have to iterate through the array to get the selections. Example:

$RequiredContent_arr = $_POST['RequiredContent'];
$RequiredContent_str='';
  if(!empty($aDoor)) 
  {
    $N = count($RequiredContent_arr);

    for($i=0; $i < $N; $i++)
    {
$RequiredContent_str=. $RequiredContent_arr[$i].",";
    }
  }

 

For more details on check box handling, see:

Handling checkbox in a PHP form processor

Link to comment
Share on other sites

Your values for RequiredContent will be recieved as an array, and will need to be converted for a string to include in the email.

 

$RequiredContent  = implode(",",$_POST['RequiredContent']);

 

Your solution worked! I just changed the string in the "Contact.php" page that read:

$RequiredContent = Trim(stripslashes($_POST['RequiredContent']));

 

to this:

 

$RequiredContent  = implode(", ",$_POST['RequiredContent']);

 

Thanks a lot!

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.