使表单复选框显示在从表单发送的电子邮件中


Make form checkboxes appear in the email sent from the form

我也是PHP新手,我正在尝试通过包含姓名文本框,电子邮件框,复选框和注释部分来建立联系。

我已经使除复选框之外的所有内容都正常工作,正如您从下面的脚本中看到的那样,它会将信息发送到我的电子邮件,但是我不明白如何使复选框出现在电子邮件中。

换句话说,它不会告诉我电子邮件中选中了哪些框。有什么简单的解决方案吗?

<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$from = 'From: Website'; 
$to = 'example@mail.com'; 
$subject = 'Order';
$body = "From: $name'n E-Mail: $email'n Packages: $cbox'n Message: $message";
?>

<label><strong>Name</strong></label>
<input name="name" type="text" placeholder="Type Here">
<label><strong>Email</strong></label>
<input name="email" type="email" placeholder="Type Here">
<label><strong>Packages</strong></label>    
<input id="checkbox" type="checkbox" name="cbox" value="Logo">Logo</input>
<input id="checkbox" type="checkbox" name="cbox" value="Website">Website+Domain</input>
<input id="checkbox" type="checkbox" name="cbox" value="Other">Other</input>
<label><strong>Message</strong></label>
<textarea name="message" placeholder="Type Here"></textarea>
<input id="submit" name="submit" type="submit" value="Submit">
</form>
<?php
if ($_POST['submit']) {
 if (mail ($to, $subject, $body, $from)) { 
    echo '<p>Your message has been sent!</p>';
 } else { 
    echo '<p>Something went wrong, go back and try again!</p>'; 
 }
}
?>

我认为这没有问题。如果要防止警告,则应将部分放在:

$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$from = 'From: Website'; 
$to = 'example@mail.com'; 
$subject = 'Order';
$body = "From: $name'n E-Mail: $email'n Packages: $cbox'n Message: $message";

if ($_POST['submit']) {

我也想念一些<form action="yourfile.php" method="post">

没看到也没有$name = $_POST['cbox'];

但是如果你这样做,你只会看到最后一个元素被选中,你需要给复选框不同的名称来获取所有值