将多个复选框值发布到php电子邮件中

将多个复选框值发布到php电子邮件中,php,post,checkbox,Php,Post,Checkbox,我对php是全新的。我想在选中多个复选框值后,在一封来自表单的电子邮件中发布它们。只有最后选中的选项才会在电子邮件中通过,即使它们在表单中都已选中。我已经尝试了很多解决方案,但似乎找不到一个适合我的 我做错了什么 HTML: php: $sendto=”email@email.com"; $usermail=$_POST['Email']; $firstname=nl2br($U POST['firstname']); $lastname=nl2br($_POST['Last_name'])

我对php是全新的。我想在选中多个复选框值后,在一封来自表单的电子邮件中发布它们。只有最后选中的选项才会在电子邮件中通过,即使它们在表单中都已选中。我已经尝试了很多解决方案,但似乎找不到一个适合我的

我做错了什么

HTML:


php:

$sendto=”email@email.com";
$usermail=$_POST['Email'];
$firstname=nl2br($U POST['firstname']);
$lastname=nl2br($_POST['Last_name']);
$address1=nl2br($_POST['address1']);
$address2=nl2br($_POST['address2']);
$city=nl2br($_POST['city']);
$state=nl2br($_POST['state']);
$zip=nl2br($_POST['zip_Code']);
$phone=nl2br($_POST['Telephone']);
$ownership=nl2br($_POST['product-types-owned']);
$subject=“产品注册”;
$headers=“From:”。剥离标签($usermail)。“\r\n”;
$headers.=“回复:”。剥离标签($usermail)。“\r\n”;
$headers.=“MIME版本:1.0\r\n”;
$headers.=“内容类型:text/html;字符集=utf-8\r\n”;
$msg=”“;
$msg.=“产品注册\r\n”;
$msg.=“发送人:”$usermail.

\r\n”; $msg.=“名字:”$firstname.

\r\n”; $msg.=“姓氏:”$lastname.

\r\n”; $msg.=“地址:”$address1.

\r\n”; $msg.=“地址行2:”$address2.

\r\n”; $msg.=“状态:”$State.

\r\n”; $msg.=“Zip:”$Zip.

\r\n”; $msg.=“电话:”$phone.“

\r\n”; $msg.=“产品拥有或打算拥有:”$ownership.“

\r\n”; $msg.=”;
我试过了,也试过了

$ownership=nl2br($_POST['product-types-owned'])

$ownership=nl2br(内爆(',',$_POST['product-types-owned'])

我得到一个错误:警告:incompode()[function.incompode]:在第24行的/home/content/99/11039499/html/scripts/warranty.php中传递的参数无效

请帮忙,我很沮丧

    $ownership = nl2br($_POST['product-types-owned']); 
拥有的产品类型
将是所选复选框值的数组。在做任何其他事情之前,你需要先将其内爆:

$ownership = nl2br(implode(',', $_POST['product-types-owned']));
现在,您正在尝试在阵列上使用nl2br,这是行不通的。nl2br需要一个字符串,因此php会将数组类型转换为默认的字符串表示形式,即字面上的单词
array

拥有的产品类型
将是所选复选框值的数组。在做任何其他事情之前,你需要先将其内爆:

$ownership = nl2br(implode(',', $_POST['product-types-owned']));

现在,您正在尝试在阵列上使用nl2br,这是行不通的。nl2br需要一个字符串,因此php会将数组类型转换为默认的字符串表示形式,即字面上的单词
array

在分配给
$ownership
var\u dump($ownership)
之前,您是否尝试过
var\u dump($code>)
@u\u mulder我不知道,不知道如何去做。在分配给
$ownership
var\u dump($ownership)
之前,你有没有尝试过
var\u dump($ownership)
?或者可能会内爆(“,,$ownership”)。@u\u mulder我没有,不知道如何去做谢谢。我试着替换$ownership=nl2br($_POST['product-types-owned']);$ownership=nl2br(内爆(',',$_POST['product-types-owned']);现在我得到一个错误:警告:incompode()[function.incompode]:在第24行的/home/content/99/11039499/html/scripts/warranty.php中传递的参数无效。我还尝试将nl2br更改为array,然后得到了相同的错误。你能帮忙吗?我的服务器有问题,代码更新不正确$所有权=nl2br(内爆(',',$_POST['product-types-owned']);工作了,谢谢。我试着替换$ownership=nl2br($_POST['product-types-owned']);$ownership=nl2br(内爆(',',$_POST['product-types-owned']);现在我得到一个错误:警告:incompode()[function.incompode]:在第24行的/home/content/99/11039499/html/scripts/warranty.php中传递的参数无效。我还尝试将nl2br更改为array,然后得到了相同的错误。你能帮忙吗?我的服务器有问题,代码更新不正确$所有权=nl2br(内爆(',',$_POST['product-types-owned']);工作。
$ownership = nl2br(implode(',', $_POST['product-types-owned']));