多个PHP电子邮件功能。 (复选框)

时间:2013-12-17 22:09:34

标签: php html checkbox contact

我应该在PHP中输入什么,而不是现在我用邮件接收用户在复选框中输入的所有答案。现在我只有一个。感谢

PHP:

$email_message .= "Sport: ".clean_string($_POST["sport"])."\n";
$email_message .= "Music: ".clean_string($_POST["music"])."\n";

HTML:

<div id="Oobj58" class="Oobj">
    <input type="checkbox" name="sport" value="Kosz" />koszykówka<br>
    <input type="checkbox" name="sport" value="Zimowe" />sporty zimowe<br>
    <input type="checkbox" name="sport" value="Konie" />jeździectwo konne<br>

</div>

    <div id="Oobj61" class="Oobj">

    <input type="checkbox" name="rozrywka" value="festiwal" />festiwale<br />
    <input type="checkbox" name="rozrywka" value="wesole" />wesołe miasteczka<br />
    <input type="checkbox" name="rozrywka" value="zespolowo"/>paintball,bilard,kręgle..<br/>
    </div>

编辑: 谢谢,但不完全可以键入不同的'名称'因为我也有一个复选框,立即设置所有检查,它适用于JS这样:

   <div id="Oobj61" class="Oobj">

<script language="JavaScript">
function toggle2(source) {
  checkboxes = document.getElementsByName('rozrywka');
  for(var i=0, n=checkboxes.length;i<n;i++) {
    checkboxes[i].checked = source.checked;
  }
}
</script>

<input type="checkbox" onClick="toggle2(this)" /><br>

<input type="checkbox" name="rozrywka" value="club" />kluby<br />
<input type="checkbox" name="rozrywka" value="puby" />puby<br />
<input type="checkbox" name="rozrywka" value="koncert" />koncerty<br />
<input type="checkbox" name="rozrywka" value="festiwal" />festiwale<br />
<input type="checkbox" name="rozrywka" value="wesole" />wesołe miasteczka<br />
<input type="checkbox" name="rozrywka" value="zespolowo" />paintball,bilard,kręgle...<br 

/>
</div>

1 个答案:

答案 0 :(得分:1)

我不是100%肯定你在这里问的是什么,但是如果你想看看是否设置了复选框,你可以做以下事情:

if(isset($_POST['checkbox-name-here'])){
   //it's set code here, maybe set a variable...
   $var = "checkbox value";}

这是一个粗略的例子,但你应该得到漂移。

如果你想获得倍数 - 那么给每个复选框一个唯一的名称:

<div id="Oobj58" class="Oobj">
    <input type="checkbox" name="sport1" value="Kosz" />koszykówka<br>
    <input type="checkbox" name="sport2" value="Zimowe" />sporty zimowe<br>
    <input type="checkbox" name="sport3" value="Konie" />jeździectwo konne<br>
</div>

然后在PHP中,您可以检查是否设置了每个值:

if(isset($_POST['sport1'])){$sport1="sport1";}
if(isset($_POST['sport2'])){$sport2="sport2";}
if(isset($_POST['sport3'])){$sport3="sport3";}

$email_message .= "Sports: ".clean_string($_POST["sport1"])."\n"
                            .clean_string($_POST["sport2"])."\n"
                            .clean_string($_POST["sport3"])."\n";

有更多更简洁的方法,但这应该有助于你解决这个问题?

或者,您可以为每个复选框指定相同的名称,然后从中构造一个数组。然后可以在PHP电子邮件处理程序中循环此数组。看看这个SO答案就是一个很好的例子:https://stackoverflow.com/a/4516887/3112128