我有一个联系表单,包含下拉菜单,复选框和电台选项,但我无法将复选框发送到我的电子邮箱 我试过这个:
<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%确定我做错了什么。 提前感谢您的任何帮助或提示!
答案 0 :(得分:3)
在PHP中使用foo[]
命名黑客会导致foo
成为$ _POST中的数组。因为您只是直接将该数组复制到变量:
$foo = $_POST['foo'];
然后将该var嵌入到您的电子邮件中,您只需
Se entero: Array
在您的电子邮件中。你必须做类似的事情:
$foo = implode(',', $_POST['foo']);
将数组转换为纯字符串。
答案 1 :(得分:0)
$findout = $_POST['findout'];
是一个奇异值数组,您需要循环它们以获取每个值
$findout = "";
foreach($_POST['findout'] as $findout){
$findout .= "{$findout} ";
}
$findout = rtrim($findout);
然后根据你想要的样子格式化你的字符串