从电子邮件上的多个复选框中获取$_POST的结果



我有一个表单,其中有多个复选框(每个复选框都有代码(:

此代码在首页上显示所有选定的值,并且仅在我的电子邮件中最后一次选定,但我希望收到我的电子邮件地址上的所有选定选项。

<form action="test.php" method="post">
<input type="checkbox" name="check_list[]" value="value 1">
<input type="checkbox" name="check_list[]" value="value 2">
<input type="checkbox" name="check_list[]" value="value 3">
<input type="submit" />
</form>
<?php
if(!empty($_POST['check_list'])) {
foreach($_POST['check_list'] as $check) {
echo $check; 
}
}
?>
$email_message = '<p><b>Your Career Interest :</b> '.$checks .'</p>

这是因为$check已经在循环中了。所以你需要它作为备用:

<?php
if(!empty($_POST['check_list'])) {
$checks = array();
foreach($_POST['check_list'] as $check) {
$checks[] = $check;
}
$check = implode(',', $checks);
}
?>

您可以在PHP中使用内爆函数来将数组中的所有项都包括在内,这些项由某个字符分隔,如so

$checks = array('test', 'test2', 'test3');
$email_message = '<p><b>Your Career Interests: </b> '.implode(", ", $checks) .'</p>';
echo $email_message;

打印出来:你的职业兴趣:测试,测试2,测试3。我并不是为了给您举个例子而创建HTML表单并发送POST数据,但想法是一样的。

最新更新