【问题标题】:Send checkbox value to email将复选框值发送到电子邮件
【发布时间】:2019-07-12 18:18:38
【问题描述】:

我有三个用于请求目录的复选框。我想在每封电子邮件中为他们三个人都获得价值。

这是我的 HTML:

<input type="checkbox" name="catalog" value="Grower"/>  Grower Supply Catalog <br><br>
<input type="checkbox" name="catalog" value="Specialty"/>  Specialty Catalog<br><br>
<input type="checkbox" name="catalog" value="Plant"/>  Plant Source Catalog

这是我的 PHP:

$name      = @$_POST["name"];
$email     = @$_POST["email"];
$street     = @$_POST["street"];
$city     = @$_POST["city"];
$state    = @$_POST["state"];
$zip    = @$_POST["zip"];
$email     = @$_POST["email"];
$phone    = @$_POST["phone"];
$message   = @$_POST["comment"];
$catalog   =@$_POST["catalog"];
foreach($_POST['catalog'] as $value) {
    $check_msg .= "Checked: $value\n";
}

$headers  = "From: $email" . PHP_EOL;
    $headers .= "Reply-To: $email" . PHP_EOL;
    $headers .= "MIME-Version: 1.0" . PHP_EOL;
    $headers .= "Content-type: text/plain; charset=utf-8" . PHP_EOL;
    $headers .= "Content-Transfer-Encoding: quoted-printable" . PHP_EOL;

    $mailBody  = "You have been contacted by $name" . PHP_EOL . PHP_EOL;
    $mailBody .= (!empty($company))?'Company: '. PHP_EOL.$company. PHP_EOL . PHP_EOL:'';
    $mailBody .= (!empty($quoteType))?'project Type: '. PHP_EOL.$quoteType. PHP_EOL . PHP_EOL:''; 
    $mailBody .= "Street :" . PHP_EOL;
    $mailBody .= $street . PHP_EOL . PHP_EOL;
    $mailBody .= "City :" . PHP_EOL;
    $mailBody .= $city . PHP_EOL . PHP_EOL;
    $mailBody .= "State :" . PHP_EOL;
    $mailBody .= $state . PHP_EOL . PHP_EOL;
    $mailBody .= "Zip :" . PHP_EOL;
    $mailBody .= $zip . PHP_EOL . PHP_EOL;
    $mailBody .= "Phone :" . PHP_EOL;
    $mailBody .= $phone . PHP_EOL . PHP_EOL;
    $mailBody .= $check_msg .= "Catalog : $catalog\n"; 
    $mailBody .= "Message :" . PHP_EOL;
    $mailBody .= $message . PHP_EOL . PHP_EOL;
    $mailBody .= "You can contact $name via email, $email.";
    $mailBody .= (isset($phone) && !empty($phone))?" Or via phone $phone." . PHP_EOL . PHP_EOL:'';




    if(mail($to, $subject, $mailBody, $headers)){
        echo '<div class="alert alert-success">Success! Your message has been sent.</div>';
    }
}

如何将复选框值发送到电子邮件?

【问题讨论】:

    标签: php html checkbox


    【解决方案1】:

    对这些元素名称使用数组语法将这些值作为数组发送:

    <input type="checkbox" name="catalog[]" value="Grower"/>  Grower Supply Catalog <br><br>
    <input type="checkbox" name="catalog[]" value="Specialty"/>  Specialty Catalog<br><br>
    <input type="checkbox" name="catalog[]" value="Plant"/>  Plant Source Catalog
    

    【讨论】:

    • 感谢您的快速回复!我对php很陌生。我像你一样在元素名称中添加了 [ ] 。如何在 php 中将值作为数组发送?
    • 您的代码已经处理了这些值位于数组中的事实。这就是你的 foreach 循环正在做的事情。把它变成一个字符串。
    • 我仍然没有从复选框中获得任何值。还有什么我可以做的吗?
    • 去掉变量中的@,看看会发生什么
    【解决方案2】:

    我认为你应该正确输入foreach()方法,输入camelCase Like this forEach()

    【讨论】:

    • camelCase 中从来没有,你只能使用for each 或foreach
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-05
    • 1970-01-01
    • 1970-01-01
    • 2014-07-09
    • 2018-05-20
    • 2013-06-02
    • 1970-01-01
    相关资源
    最近更新 更多