Reputation: 1066
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
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
Reputation: 20844
Try like this.
if(!empty($_POST['check'])) {
foreach($_POST['check'] as $value) {
$check_msg .= "Checked:".$value."\n";
}}
Upvotes: 1