user1278496
user1278496

Reputation: 1066

Receiving checkbox information in an email from a submitted form

I have implemented a form that sends submitted information to my email successfully. I can achieve this with all inputs except for checkboxes. What do I have to do in order for checkbox values to appear in my email as well? I have tried to use a for each loop but I dont know if I am along the right lines. Relevant code below:

Code:

$companyname = $_POST['companyname'];
$fullname = $_POST['fullname'];
$email = $_POST['email'];
$phonenumber = $_POST['phonenumber'];

foreach($_POST['check'] as $value) {
$check_msg .= "Checked: $value\n";
}

$to = '[email protected]';
$subject = 'Quote';
$message = 'Company Name: '.$companyname. "\n"."\n". 'Full Name: ' .$fullname.     "\n"."\n". 'E-mail: '.$email. "\n"."\n". 'Phone Number: '.$phonenumber. "\n"."\n". 'Features: '$check_msg;

HTML:

<label><input type="checkbox" name="check[]" id="q12_1" value="E commerce  Shopping Cart" />E-commerce (Shopping Cart)</label>
<label><input type="checkbox" name="check[]" id="q12_2" value="Content Management System  CMS"   />Content Management System (CMS)</label>

Upvotes: 1

Views: 4210

Answers (2)

SeanWM
SeanWM

Reputation: 16989

Try:

$message = 'Company Name: '.$companyname. "\n"."\n". 'Full Name: ' .$fullname. "\n"."\n". 'E-mail: '.$email. "\n"."\n". 'Phone Number: '.$phonenumber. "\n"."\n". 'Features: '.$check_msg;

You were missing the . after 'Features: '

For example, this works:

<?php

$companyname = $_POST['companyname'];
$fullname = $_POST['fullname'];
$email = $_POST['email'];
$phonenumber = $_POST['phonenumber'];

foreach ($_POST['check'] as $value) {
    $check_msg .= "Checked: $value\n";
}

$to = '[email protected]';
$subject = 'Quote';
$message = 'Company Name: '.$companyname. "\n"."\n". 'Full Name: ' .$fullname.     "\n"."\n". 'E-mail: '.$email. "\n"."\n". 'Phone Number: '.$phonenumber. "\n"."\n". 'Features: '.$check_msg;
echo $message;
?>
<form action='' method="post">
    <label>
        <input type="checkbox" name="check[]" id="q12_1" value="E commerce  Shopping Cart" />
        E-commerce (Shopping Cart)</label>
    <label>
        <input type="checkbox" name="check[]" id="q12_2" value="Content Management System  CMS"   />
        Content Management System (CMS)</label>
    <input type="submit" value="submit">
</form>

Upvotes: 3

Vucko
Vucko

Reputation: 20844

Try like this.

if(!empty($_POST['check'])) {
    foreach($_POST['check'] as $value) {
        $check_msg .= "Checked:".$value."\n";            
    }}

Upvotes: 1

Related Questions