为了账号安全,请及时绑定邮箱和手机立即绑定

php邮件表单多个复选框项目

php邮件表单多个复选框项目

PHP
一只名叫tom的猫 2023-10-21 10:10:00
我有一个包含多个复选框的联系表单。我已将 [] 添加到名称中,但不确定在 PHP 中要做什么。如果没有 [],我只能在发送的电子邮件中显示第一个复选框项目。添加[]后,我什么也没得到。(注:我曾尝试在 StackOverflow 中使用类似的问题,但它们对我的困境不起作用。)这是我的代码(我已截断 HTML 以仅显示复选框区域):<div class="form-check">  <input type="checkbox" class="form-check-input" name="findout[]" id="checkbox5" value="Advertisement">  <label for="findout[]" class="form-check-label">Advertisement</label></div><div class="form-check">  <input type="checkbox" class="form-check-input" name="findout[]" id="checkbox6" value="Yard Sign">  <label for="findout[]" class="form-check-label">Yard Sign</label></div><div class="form-check">  <input type="checkbox" class="form-check-input" name="findout[]" id="checkbox7" value="Search Engine">  <label for="findout[]" class="form-check-label">Search Engine</label></div><?php    $name = $_POST['name'];    $email = $_POST['email'];    $findout = $_POST['findout'];    $method = $_POST['method'];    $message = $_POST['message'];    $subject = $_POST['subject'];    header('Content-Type: application/json');    if ($name === ''){      print json_encode(array('message' => 'Name cannot be empty', 'code' => 0));      exit();    }    if ($email === ''){      print json_encode(array('message' => 'Email cannot be empty', 'code' => 0));      exit();    } else {      if (!filter_var($email, FILTER_VALIDATE_EMAIL)){      print json_encode(array('message' => 'Email format invalid.', 'code' => 0));      exit();      }    }    if ($subject === ''){      print json_encode(array('message' => 'Subject cannot be empty', 'code' => 0));      exit();    }    if ($message === ''){      print json_encode(array('message' => 'Message cannot be empty', 'code' => 0));      exit();    }
查看完整描述

2 回答

?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

那么人们可以选择多个复选框,而您想正确阅读它们吗?您可以使用下面的代码


<?php

  if(isset($_POST['findout'])){ // Check if findout had been posted

      foreach($_POST['findout'] as $checked){ // loop trough selected checkboxes

          echo $checked."</br>"; // Display selected checkboxes

      }

  }

?>


查看完整回答
反对 回复 2023-10-21
?
守候你守候我

TA贡献1802条经验 获得超10个赞

将括号添加到字段名称使其成为数组,因此您应该像数组一样访问它

$findout = implode(", ",$_POST['findout']);
echo $findout; // should output: Advertisement, Yard Sign, or whatever they select

另外,标签的for属性应该指向字段的 id,而不是字段的名称

<label for="checkbox7" class="form-check-label">Search Engine</label>


查看完整回答
反对 回复 2023-10-21
  • 2 回答
  • 0 关注
  • 71 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信