Php 使用method=";获取电子邮件上的复选框值;邮政「;
我有一个带有下拉列表、复选框和无线电选项的联系表单,但我无法将复选框发送到我的电子邮件 我试过这个:Php 使用method=";获取电子邮件上的复选框值;邮政「;,php,jquery,html,checkbox,Php,Jquery,Html,Checkbox,我有一个带有下拉列表、复选框和无线电选项的联系表单,但我无法将复选框发送到我的电子邮件 我试过这个: <label class="labelleft">¿Cómo se enteró de nosotros?</label> <label class="labelright"><input type="checkbox" name="findout[]" value="Email" />Email</label>
<label class="labelleft">¿Cómo se enteró de nosotros?</label>
<label class="labelright"><input type="checkbox" name="findout[]" value="Email" />Email</label>
<label class="labelright"><input type="checkbox" name="findout[]" value="Buscador"/>Buscador</label>
<label class="labelright"><input type="checkbox" name="findout[]" value="Revista"/>Revista</label>
<label class="labelright"><input type="checkbox" name="findout[]" value="Expo"/>Expo</label>
<label class="labelright"><input type="checkbox" name="findout[]" value="Redes Sociales"/>Redes Sociales</label>
?
电子邮件
布斯卡多
复习
博览会
社会红
我在用这个:
<form id="form1" name="form1" method="post" action="enviar.php">
php是:
<?php
$mail='mail@mail.com';
$name = $_POST['name'];
$email= $_POST['email'];
$phone = $_POST['phone'];
$giro = $_POST['giro'];
$negocio = $_POST['negocio'];
$dist = $_POST['dist'];
$findout = $_POST['findout'];
$rb= $_POST ['rbtn'];
$message = $_POST['message'];
$thank="gracias.html";
$message = "
Nombre: " .$name."
Correo Electronico: " .$email."
Telefono: " .$phone."
Compania: " .$giro." $rb
Tipo de Negocio: ".$negocio."
Distribuidor: ".$dist."
Se entero: ".$findout."
Mensaje: " .$message."
";
if (mail($mail,"NIBO",$message))
Header ("Location: $thank");
?>
我刚刚发布了复选框的html部分。
当我发送电子邮件时,我得到的只是“数组”这个词
不是100%确定我做错了什么。
提前感谢您的帮助或提示 在PHP中使用
foo[]
命名hack会导致foo
成为$\u POST中的数组。因为您只是直接将该数组复制到变量:
$foo = $_POST['foo'];
然后把这个变量嵌入到你的电子邮件中,你就会
Se entero: Array
在你的电子邮件里。您必须执行以下操作:
$foo = implode(',', $_POST['foo']);
将数组转换为普通字符串
$findout = $_POST['findout'];
是一个单数值数组,需要循环遍历它们才能得到每个值
$findout = "";
foreach($_POST['findout'] as $findout){
$findout .= "{$findout} ";
}
$findout = rtrim($findout);
然后根据您希望字符串的外观设置字符串的格式您可以在复选框中使用
foreach
。例如:foreach($\u POST['findout']作为$check){echo$check;}
$findout
是一个检查值数组。你需要使用类似于内爆(“,”,$findout)
的方法来获取可以在电子邮件中使用的字符串。Mark B对我使用了不同的方法,他的方法更适合这种情况。Marc B的解决方案非常有效!非常感谢你!